CRUD: PART 8| Delete satu record beserta gambar di database dengan Laravel 11

Baringin
By -
0

 Pendahuluan



    Materi CRUD terakhir yang akan kita bahas kali ini adalah tentang Delete atau menghapus satu Record di dalam database menggunakan perintah di laravel 11.  

    Berikut langkahnya,


Langkah-langkah

1. Buka file di View => koleksi.blade.php dan cari sempurnakan scriptnya sperti berikut:

.......
<td>
    <a href="/edit/{{ $k['id']}}" class="btn btn-info">Edit</a>
    <a href="/hapus/{{ $k['id']}}" class="btn btn-danger" onclick="return confirm('Yakin Menghapus Data?'); ">Hapus</a>
</td>
........................

    Link /hapus/{{ $k['id]}} merupakan perintah agar sistem membuat route dangan jalur hapus dengan spesifikasi data yang di kirim sesuai id record yang ada di dalam database. Sedangkan perintah onclick"return confirm()" merupakan script javascript yang bertugas untuk mengecek kebenaran dari perintah yang akan di jalankan. Script ini di butuhkan untuk melakukan konfirmasi apakah data akan di hapus atau di batalkan.


2. Masuk ke web.php, kita akan membuat jalur hapus. Tambahkan Route hapus seperti berikut:

.................
Route::post('/simpan', [KoleksiController::class, 'simpan']);
Route::get('/edit/{id}', [KoleksiController::class, 'edit']);
Route::post('/update/{id}', [KoleksiController::class, 'update']);
Route::any('/hapus/{id}', [KoleksiController::class, 'hapus']);


3. Buka file Controller => KoleksiController.php dan buat method baru dengan nama hapus

public function hapus($id, Request $req)
{

    //script
}


4.  Tambahkan script berikut:

public function hapus($id, Request $req)
{
    $data = Koleksi::findOrFail($id);
    file::delete(public_path('/assets/images/' . $data->gambar));
    $data->delete();
    return redirect()->to('/');
}

    Script $data = Koleksi::findOrFail($id); berfugsi untuk menemukan record sesuai dengan id yang dikirm dari view. sedangkan perintah  file::delete(public_path('/assets/images/' . $data->gambar)); bertugas untuk menghapus gambar di dalam PATH public.

    Perintah $data->delete(); bertujuan menghapus satu record di dalam database sesuai dengan id yang telah dikirim dari view.

    Terakhir silahkan jalankan projek anda dan coba hapu satu data dan cek apakah data tersebut sudah terhapus. Begitu juga gambar yang ada di dalam public. Apakah sudah terhapus atau belum?






Post a Comment

0Comments

Post a Comment (0)