Delete Data Hotel Laravel 11: Perbedaan antara revisi

Dari Dokumentasi Robie
Loncat ke navigasi Loncat ke pencarian
Tidak ada ringkasan suntingan
Tidak ada ringkasan suntingan
 
(4 revisi perantara oleh pengguna yang sama tidak ditampilkan)
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]]Buka komponen '''hotel-list.blade.php''' pada folder resources/views/livewire/hotels/
[[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, sehingga akan melakukan action ketika tombol Delete diklik. dan kodenya menjadi
= Buka komponen '''hotel-list.blade.php''' =
pada folder resources/views/livewire/hotels/


<nowiki><a  wire:click href="/hotels/{{$hotel->id}}/hapus" class="btn btn-sm btn-danger">Delete</a></nowiki>
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>wire:confirm="Apakah anda yakin akan dihapus?"</code> mengkonfirmasi apakah yakin akan dihapus datanya
 
<code>class="btn btn-sm btn-danger">Delete</a></code>
 
 
tampilan ketika tombol delete diklik
[[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]]
 
= Membuat methode 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
 
<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>
 
sehingga kode program akan terlihat seperti berikut
[[Berkas:004-kode-secara-keseluruhan-hotellist.png|pus|jmpl|369x369px]]
[[Kategori:Laravel 11]]

Revisi terkini sejak 18 November 2024 02.39

Setelah Tombol Edit berhasil, berikutnya akan kita aktifkan tombol Delete

001-aktifkan-tombol-delete.png

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

002-klik-tombol-delete.png

ketika klik Ok akan muncul error seperti ini, karena kita belum membuat method delete

003-error-function-delete-hotel.png

Membuat methode 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)

    }

sehingga kode program akan terlihat seperti berikut

004-kode-secara-keseluruhan-hotellist.png