Halo teman-teman, kali ini saya mau share tutorial tentang Soft Delete di Laravel khusus untuk User.
Soft Delete ini artinya data user tidak benar-benar hilang dari database, melainkan hanya ditandai di kolom deleted_at. Jadi, data masih bisa di-restore kapan saja, atau dihapus permanen bila diperlukan.
Secara default laravel sudah menyediakan tabel Users, jadi pada contoh ini hanya perlu menambahkan 1 kolom deleted_at pada tabel Users.
.png)
Cari dulu direktori model pada projek laravel kalian, pada contoh ini terdapat pada app/Models/ , kemudian buka file User.php lalu tambahkan SoftDeletes pada use.
.png)
Controller di Laravel itu bisa dibilang jadi jembatan antara database sama tampilan. Pada contoh soft delete di data user, perannya si controller ini buat mengatur alur logika seperti nampilin daftar user yang masih aktif, nampilin user yang udah dihapus sementara, ngehapus user pake soft delete, balikin lagi user yang udah dihapus (restore), atau hapus permanen dari database (force delete).
Disini saya membuat controller baru yaitu UserController.php. Berikut kode programnya:
.png)
View
disini saya buat 2 file blade.php sederheana berbeda, 1 untuk lihat user aktif dan 1 untuk lihat user yang tersoft delete, user yang di soft delete nggak langsung hilang dari database, tapi cuma ditandai dengan kolom deleted_at. Dengan begitu, data masih bisa dipulihkan kapan saja lewat fitur restore, atau kalau benar-benar sudah nggak dipakai baru dihapus permanen.
View awal, kemudian akun Ivan di soft delete.
.png)
.png)
View user terhapus kemudian akun Ivan di restore kembali.
.png)
.png)