Tutorial CRUD Laravel Livewire SPA #9 : Hapus Data Dari Database - Halo teman-teman semuanya, pada kesempatan kali ini kita semua akan belajar bagaimana cara membuat delete data menggunakan Laravel Livewire.
Pada tahap ini kita hanya menambahkan 1 function saja di dalam component Index Post, jika teman-teman penassaran sesimple apa itu. Lansung saja kita mulai.
Langkah 1 - Membuat Function Destroy
Disini kita hanya menambahkan 1 function saja dengan nama function destroy di dalam component Index Post. Silahkan teman-teman buka file app/Http/Livewire/Post/Index.php dan tambahkan kode berikut ini :
/**
* destroy function
*/
public function destroy($postId)
{
$post = Post::find($postId);
if($post) {
$post->delete();
}
//flash message
session()->flash('message', 'Data Berhasil Dihapus.');
//redirect
return redirect()->route('post.index');
}
Dari kode diatas, jika teman-teman perhatikan di dalam function destroy kita mencari data post berdasarkan ID, jika data tersebut ditemukan, maka kita akan melakukan delete data.
Jika component Index post ditulis dengan lengkap, kurang lebih seperti berikut ini :
<?php
namespace App\Http\Livewire\Post;
use App\Post;
use Livewire\Component;
use Livewire\WithPagination;
class Index extends Component
{
use WithPagination;
/**
* destroy function
*/
public function destroy($postId)
{
$post = Post::find($postId);
if($post) {
$post->delete();
}
//flash message
session()->flash('message', 'Data Berhasil Dihapus.');
//redirect
return redirect()->route('post.index');
}
public function render()
{
return view('livewire.post.index', [
'posts' => Post::latest()->paginate(5)
]);
}
}
Langkah 2 - Uji Coba Aplikasi
Sekarang silahkan teman-teman coba mengahpus data dari yang sudah inputkan sebelumnya, jika berhasil maka teman-teman akan mendapatkan tampilan kurang lebih seperti berikut ini :

SOURCE CODE
Untuk teman-teman yang ingin mengunduh source codenya : https://github.com/maulayyacyber/CRUD-Laravel-Livewire-SPA
KESIMPULAN
Pada tutorial kali ini kita semua telah belajar bagaimana membuat function destroy atau hapus data dari database di Laravel Livewire.
Jika teman-teman ada pertanyaan atau kendala saat mencoba, silahkan teman-teman bisa bertanya melalui kolom komentar dibawah artikel ini.
Terima Kasih
{ setTimeout(() => { showShimmer = false; }, 300); })"
:class="{'opacity-0': !loaded, 'opacity-100': loaded}"
class="lazy w-full h-auto rounded-xl border border-white dark:border-neutral-700/80 transition-opacity duration-500"
loading="lazy"
/>
SAWERIA
Memuat komentar...