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

Удаление записи в Livewire

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

Рядом с заголовком можно поставить кнопку, которая вызовет метод компонента с номером записи. Метод найдёт строку и удалит её, после чего Livewire снова отрисует список без этой позиции.

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

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

php artisan make:livewire PostDrop --class

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

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

Давайте добавим метод удаления и список в render:

<?php namespace App\Livewire; use App\Models\Post; use Livewire\Component; class PostDrop extends Component { public function delete($id) { Post::find($id)->delete(); } public function render() { $posts = Post::orderBy('id') ->get(); return view( 'livewire.post-drop', compact('posts') ); } } ?>

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

<div> @foreach ($posts as $post) <div wire:key="{{ $post->id }}"> {{ $post->title }} <button type="button" wire:click="delete({{ $post->id }})" > Delete </button> </div> @endforeach </div>

Создайте компонент EmployeeDrop. У каждого работника должна быть кнопка: по нажатию запись пропадает из списка.

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