laravel-trix
laravel-trix copied to clipboard
Problem Storing Rich Text Fields and attachments with livewire
create.blade.php
<x-slot name="content">
<div class="mt-4">
<x-jet-label for="title" value="{{ __('Title') }}" />
<x-jet-input id="title" class="block mt-1 w-full" type="text" wire:model.debounce.800ms="title" />
@error('title') <span class="error">{{ $message }}</span> @enderror
</div>
<div class="mt-4">
<x-jet-label for="title" value="{{ __('Slug') }}" />
<div class="mt-1 flex rounded-md shadow-sm">
<span class="inline-flex dark:bg-black dark:text-white items-center px-3 rounded-l-md border border-r-0 border-gray-300 bg-gray-50 text-gray-500 text-sm">
{{ url('') }}
</span>
<input wire:model="slug" class="form-input dark:bg-black dark:text-white flex-1 block w-full rounded-none rounded-r-md transition duration-150 ease-in-out sm:text-sm sm:leading-5" placeholder="url-slug">
</div>
@error('slug') <span class="error">{{ $message }}</span> @enderror
</div>
<div class="mt-4" >
<x-jet-label for="content" value="{{ __('Content') }}" />
<div class="rounded-md shadow-sm">
<div wire:ignore>
@trix(\App\Page::class, 'content')
</div>
</div>
</div>
@error('content') <span class="error">{{ $message }}</span> @enderror
</div>
</x-slot>
<x-slot name="footer">
<x-jet-secondary-button wire:click="$toggle('modalFormVisible')" wire:loading.attr="disabled">
{{ __('Cancel') }}
</x-jet-secondary-button>
<x-jet-button class="ml-2" wire:click="create" wire:loading.attr="disabled">
{{ __('Create') }}
</x-jet-danger-button>
</x-slot>
</x-jet-dialog-modal>
Livewire/Page.php
public function create()
{
$this->validate();
$this->post = Page::create($this->modelData());
$this->modalFormVisible = false;
$this->reset();
}
public function modelData()
{
return [
'title' => $this->title,
'slug' => $this->slug,
'content' => $this->content,
'page-trixFields' => request('page-trixFields'),
'attachment-post-trixFields' => request('attachment-post-trixFields')
];
}
hi @surencool4
problem solved?
If you solve the problem, can you explain it to me?
thanks
Hi, I think you have an error in your code. 'attachment-post-trixFields' => request('attachment-post-trixFields') I guess it should be 'page' like this: 'attachment-page-trixFields' => request('attachment-page-trixFields')