РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplwPmRcCr 63 of 76 menu
◀ ▶

Добавление записи в Livewire

Давайте теперь возьмём страницу, где посты уже стоят списком. Новый заголовок вписать некуда: строка появится только если её положили в базу вручную.

Форму на той же странице можно связать с методом сохранения: он создаст запись, очистит поля, и список в render сразу покажет свежую строку из базы.

Пусть в проекте есть модель Post с полями заголовка и текста.

Давайте создадим компонент PostAdd:

php artisan make:livewire PostAdd --class

Давайте добавим маршрут и страницу:

<?php Route::get('/posts', function () { return view('posts'); }); ?>
<x-layout> <livewire:post-add /> </x-layout>

Давайте заведём поля, метод save и список в render:

<?php namespace App\Livewire; use App\Models\Post; use Livewire\Component; class PostAdd extends Component { public $title = ''; public $body = ''; public function save() { Post::create([ 'title' => $this->title, 'body' => $this->body, ]); $this->title = ''; $this->body = ''; } public function render() { $posts = Post::orderBy('id') ->get(); return view( 'livewire.post-add', compact('posts') ); } } ?>

Давайте в шаблоне оформим форму и список заголовков:

<div> <form wire:submit="save"> <input type="text" wire:model="title" > <textarea wire:model="body" ></textarea> <button type="submit"> Save </button> </form> @foreach ($posts as $post) <div wire:key="{{ $post->id }}"> {{ $post->title }} </div> @endforeach </div>

Создайте компонент EmployeeAdd. Сделайте форму имени и должности: после сохранения работник виден в списке на этой же странице.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить