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
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, 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

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

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)

    }