Dalam pengembangan aplikasi web, fitur CRUD hapus data menjadi bagian penting agar pengguna bisa mengelola data secara fleksibel, termasuk menghapus informasi yang sudah tidak dibutuhkan. Laravel menyediakan cara yang efisien dan elegan untuk menghapus data melalui Eloquent. Dalam sesi belajar Laravel bagian 18, kita akan belajar bagaimana membuat CRUD hapus data di Laravel dengan metode Eloquent.
Sebelum membahas cara membuat CRUD hapus data menggunakan metode Eloquent, ada baiknya kita memahami terlebih dahulu perbedaan antara Eloquent dan Query Builder. Penjelasan ini akan membantu Anda lebih memahami metode yang akan digunakan dalam panduan ini.
Pada contoh di bawah, kami tetap menggunakan “data karyawan” yang telah dibuat pada sesi belajar Laravel sebelumnya. Berikut adalah perbedaan mendasar antara Eloquent dan Query Builder dalam konteks pengelolaan data.
Operasi | Query Builder | Eloquent ORM |
Delete | DB::table(‘users’) -> where()->delete() | $user->delete() atau User::destroy(id) |
Contoh | DB::table(‘users’) -> where(’email’, ‘[email protected]’)->delete(); | $user = User::where(’email’, ‘[email protected]’)->first(); if ($user) { $user->delete(); } atau bisa juga dengan cara berikut bila sudah tahu ID nya. User::destroy(1); // Menghapus berdasarkan ID |
Membuat CRUD Hapus Data
Sama seperti panduan CRUD Laravel sebelumnya, dalam artikel ini kami juga akan menggunakan Eloquent untuk membangun fungsinya.
Jika Anda belum membaca panduan CRUD sebelumnya, Anda bisa mempelajarinya terlebih dahulu melalui tautan berikut. Sementara itu, untuk proses hapus data, silakan ikuti langkah-langkah yang kami jelaskan di bawah ini.
Langkah 1: Membuat Route untuk Hapus Data
Untuk membuat fitur hapus data di Laravel, langkah pertama yang harus dilakukan adalah membuat route Hapus data. Silakan tambahkan route hapus data di files routes/web.php.
Route::get('/karyawan/hapus/{id}', [KaryawanController::class, 'hapus']);
Langkah 2: Membuat Method Hapus di Controller
Langkah berikutnya, kita buat method hapus data. Silakan tambahkan method hapus di file Controller pada file app/Http/Controllers/KaryawanController.php.
public function hapus($id)
{
$karyawan = Karyawan::find($id);
// alihkan halaman ke halaman karyawan
$karyawan->delete();
return redirect('/karyawan');
}
Langkah 3: Menambahkan Primary Key
Edit file Models/Karyawan.php , kemudian tambahkan
protected $primaryKey = 'karyawan_id';
Tetapkan primary key pada karyawan_id.
Langkah 4: Lakukan testing
Oke. Yang Terakhir, mari kita lakukan testing pada menu edit yang baru saja dibuat. Silakan jalankan perintah berikut melalui terminal:
php artisan serve
Kemudian akses url http://127.0.0.1:8000/karyawan . Selanjutnya, lakukan testing hapus karyawan.

Setelah diklik, data karyawan ID 55 berhasil dihapus.

Kesimpulan
Lengkap sudah materi belajar CRUD Laravel menggunakan Eloquent. Ternyata, membuat CRUD di Laravel dengan Eloquent sama mudahnya dengan membuat CRUD menggunakan Query Builder, bukan?
Fitur CRUD ini sudah bisa kita terapkan untuk mengelola data karyawan sepenuhnya. Makin seru kan belajar Laravel bersama Rumahweb? Ikuti terus artikel kami tentang belajar Laravel bagian selanjutnya yang akan kami terbitkan tiap bulan. Semoga bermanfaat.