Delete Data Hotel Laravel 11: Perbedaan antara revisi
Tidak ada ringkasan suntingan |
Tidak ada ringkasan suntingan |
||
Baris 1: | Baris 1: | ||
Setelah Tombol Edit berhasil, berikutnya akan kita aktifkan tombol Delete | Setelah Tombol Edit berhasil, berikutnya akan kita aktifkan tombol Delete | ||
[[Berkas:001-aktifkan-tombol-delete.png|pus|jmpl|438x438px]] | [[Berkas:001-aktifkan-tombol-delete.png|pus|jmpl|438x438px]] | ||
karena kita gak butuh navigasi, berarti pada a href wire:navigate kita hapus, tetapi menggunakan wire:click, lalu actionnya diarahkan ke function delete. sehingga akan melakukan action ketika tombol Delete diklik. dan kodenya menjadi | = Buka komponen '''hotel-list.blade.php''' = | ||
pada folder resources/views/livewire/hotels/ | |||
karena kita gak butuh navigasi, berarti pada a href '''wire:navigate''' kita hapus, tetapi menggunakan '''wire:click''', lalu actionnya diarahkan ke '''function delete'''. sehingga akan melakukan action ketika tombol Delete diklik. dan kodenya menjadi | |||
<code><a wire:click="delete(<nowiki>{{$hotel->id}}</nowiki>)"</code> mengirim id yang akan dihapus | <code><a wire:click="delete(<nowiki>{{$hotel->id}}</nowiki>)"</code> mengirim id yang akan dihapus | ||
Baris 12: | Baris 15: | ||
tampilan ketika tombol delete diklik | tampilan ketika tombol delete diklik | ||
[[Berkas:002-klik-tombol-delete.png|pus|jmpl|437x437px]] | [[Berkas:002-klik-tombol-delete.png|pus|jmpl|437x437px]]ketika klik Ok akan muncul error seperti ini, karena kita belum membuat '''method delete''' | ||
[[Berkas:003-error-function-delete-hotel.png|pus|jmpl|423x423px]] | |||
langkah yang bisa dilakukan adalah dengan membuat method delete pada file '''HotelList.php''' yang berada pada folder app/Livewire/HotelList.php | |||
tambahkan kode berikut | |||
<code>public function delete($id){</code> (menangkap id yang akan dihapus) | |||
<code> $hotel = Hotel::find($id);</code>(mencari data di database dengan acuan id) | |||
<code> $hotel->delete();</code> (perintah untuk menghapus data sesuai id yang ditangkap) | |||
<code> return $this->redirect('/hotels',navigate:true);</code>(setelah konfirmasi ok akan di redirect ke halaman hotels) | |||
<code> }</code> |
Revisi per 18 November 2024 02.35
Setelah Tombol Edit berhasil, berikutnya akan kita aktifkan tombol Delete
Buka komponen hotel-list.blade.php
pada folder resources/views/livewire/hotels/
karena kita gak butuh navigasi, berarti pada a href wire:navigate kita hapus, tetapi menggunakan wire:click, lalu actionnya diarahkan ke function delete. sehingga akan melakukan action ketika tombol Delete diklik. dan kodenya menjadi
<a wire:click="delete({{$hotel->id}})"
mengirim id yang akan dihapus
wire:confirm="Apakah anda yakin akan dihapus?"
mengkonfirmasi apakah yakin akan dihapus datanya
class="btn btn-sm btn-danger">Delete</a>
tampilan ketika tombol delete diklik
ketika klik Ok akan muncul error seperti ini, karena kita belum membuat method delete
langkah yang bisa dilakukan adalah dengan membuat method delete pada file HotelList.php yang berada pada folder app/Livewire/HotelList.php
tambahkan kode berikut
public function delete($id){
(menangkap id yang akan dihapus)
$hotel = Hotel::find($id);
(mencari data di database dengan acuan id)
$hotel->delete();
(perintah untuk menghapus data sesuai id yang ditangkap)
return $this->redirect('/hotels',navigate:true);
(setelah konfirmasi ok akan di redirect ke halaman hotels)
}