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: