Tutorial Laravel 11 #9: Membuat Fitur Delete Data

-

Halo teman-teman semuanya! Di part sebelumnya, sudah kita pelajari cara mengedit dan mengupdate data di Laravel 11. Kali ini, kita akan membahas cara menghapus data dari sistem, sebuah fitur penting dalam CRUD.

Kenapa Fitur Delete ini Penting?

Fitur ini memungkinkan user menghapus data yang tidak dibutuhkan lagi, baik karena sudah tidak relevan ataupun untuk membersihkan basis data.

1. Tambahkan Route untuk Hapus Data

Di file routes/web.php, tambahkan route berikut:

Route::delete('/products/{id}', [ProductController::class, 'destroy'])->name('products.destroy');
  • Kita menggunakan method DELETE.

  • {id} akan mewakili data yang akan dihapus.

2. Buat Method destroy() di Controller

Di dalam ProductController.php, tambahkan method berikut:

public function destroy($id) { $product = Product::findOrFail($id); $product->delete(); return redirect()->route('products.index')->with('success', 'Produk berhasil dihapus.'); }
  • findOrFail($id) memastikan bahwa produk yang akan dihapus benar-benar ada (akan melempar error 404 jika tidak ditemukan).

  • Setelah berhasil dihapus, kita redirect ke halaman index dan menampilkan pesan sukses.

3. Tambahkan Tombol Delete di View (Misalnya di products.index)

Buka resources/views/products/index.blade.php dan tambahkan tombol delete untuk setiap data produk:

 
<form action="{{ route('products.destroy', $product->id) }}" method="POST" style="display: inline-block;" onsubmit="return confirm('Yakin ingin menghapus produk ini?');"> @csrf @method('DELETE') <button type="submit" class="btn btn-danger btn-sm">Hapus</button> </form>

sekarang, button hapus sudah muncul dan kalau kita klik button nya, akan muncul alert seperti gambar berikut:

Ketika alert di atas diklik OK, maka data akan terhapus dari database.

Ringkasan

LangkahDeskripsi
RouteMenambahkan route DELETE di web.php untuk endpoint /products/{id}
ControllerMethod destroy() di ProductController untuk logika penghapusan
ViewTombol delete dengan form dan konfirmasi pada daftar produ
TestingPastikan data terhapus dari database

Penutup

Dengan diterapkannya fitur Delete, sekarang aplikasi teman-teman telah mendukung operasi CRUD lengkap: Create, Read, Update, dan Delete, semua dijalankan dengan cara yang baik seperti validasi, dan handling gambar.

Di Part 10, kita akan menambahkan Flash Message yang lebih interaktif dan menarik, agar user experience lebih bagus.


Artikel ini dibaca sebanyak13kali

#Laravel

About Author

Crafting Code & Ideas ✨ | Software Engineer | Tech Explorer & Growth

Brian Harris

Follow me on