Pada artikel kali ini saya akan membahas materi laravel berkaitan mengenai delete data yaitu Menghapus Fisik Gambar Saat Melakukan Delete Data DI Laravel.
Jika kalian membuat sebuah fungsi delete data dengan bahasa apapun atau dengan framework apapun mungkin masih banyak di antara kalian hanya menghapus data yang ada di database saja tetapi tidak dengan fisik file nya yang tersimpan di lokal folder aplikasi kalian .
Hal tersebut akan berdampak cukup besar pada aplikasi kalian, contohnya saja kalian menambah data yang di sertakan gamabar lalau terjadi proses edit data, nah data yang baru juga merubah gambar yang data sebelumnya, maka untuk 1 data bisa terjadi 2 gambar yang berbeda.
Untuk mengurangi resiko tersebut sebaiknya saat delete data juga otomatis menghapus fisik file nya yang ada di folder penyimpanan kita.
Saya akan menunjukan caranya di laravel, perhatikan baris kode berikut ini :
1 2 3 4 5 6 7 8 9 |
public function deleteMatch($id) { $match = Match::find($id); $match->delete(); File::delete(public_path().'/asset/match_images/' . $match->flag_1); // untuk menghapus file nya File::delete(public_path().'/asset/match_images/' . $match->flag_2); // untuk menghapus file nya return redirect('/panel/master-match')->with("deleteSuccess", "Berhasil Menghapus Satu Pertandingan"); } |
Baris kode di atas saya ambil dari aplikasi saya, sedikit saya jelaskan pada baris kode di atas pertama-tama saya melakukan query untuk mendapatkan single data berdasarkan parameternya, setelah dapat lalu saya menggunakan sintak ini file::delete() untuk menghapus datanya dan karena saya memiliki dua gambar dalam satu baris record maka saya menggunakan dua buah sintak untuk menghapusnya:
1 2 |
File::delete(public_path().'/asset/match_images/' . $match->flag_1); // untuk menghapus file nya File::delete(public_path().'/asset/match_images/' . $match->flag_2); // untuk menghapus file nya |
Baiklah itu saja untuk artikel tentang Menghapus Fisik Gambar Saat Melakukan Delete Data DI Laravel, sampai bertemu di artikel selanjutnya.