Edit Data Hotel Laravel 11

Dari Dokumentasi Robie
Loncat ke navigasi Loncat ke pencarian

Tambahkan tombol Edit dan Delete

pada file hotel-list.blade.php pada folder resource/view/livewire/hotels

Gagal membuat miniatur: Berkas tak ditemukan

Tambahkan tujuan a href seperti berikut

Gagal membuat miniatur: Berkas tak ditemukan

Buat Komponen Edit Hotel

cara membuat komponen edit dengan mengetikkan

php artisan make:livewire hotels.hotel-edit lalu tekan enter, hasilnya akan muncul tampilan seperti berikut

Gagal membuat miniatur: Berkas tak ditemukan

Arahkan Routing

tambahkan routing di folder routes/web.php

Gagal membuat miniatur: Berkas tak ditemukan

Ubah file hotel-edit.blade.php

pada folder resources/views/livewire/hotels/hotel-edit.blade.php pada dasarnya isi halamannya sama dengan file hotel-create.blade.php, kita langsung copy paste saja dari fiel hote-create.blade.php. Kemudian ganti title sesuai halaman edit hotel.

Memasukkan isi data ke form edit

untuk menangkap id dari file yang di klik tombol edit, kita perlu menambahkan kode pada file app/Livewire/Hotels/HotelEdit.php dengan menambahkan

public function mount($id)

setelah id ditangkap, lalu konekkan dengan database dengan id yang sudah tertangkap dengan mengetikkan kode berikut

tambahkan library

use App\Models\Hotel;


public function mount($id){

$hotel = Hotel::find($id);

}


setelah itu, copy semua property/variabel dari HotelCreate.php ke diatas function mount

#[Validate('required',message:'Nama harus diisi')]

#[Validate('min:3',message:'Nama Minimal 3 Karakter')]

public $name;

public $phone;

public $email;

public $address;

public $stars;

public $check_in_time;

public $check_out_time;


sehingga kode program secara keseluruhan menjadi

Gagal membuat miniatur: Berkas tak ditemukan

kemudian tuliskan semua properties/variabel ke dalam function mount agar data muncul pada setiap form isian di edit hotel.


$hotel = Hotel::find($id);

$this->name = $hotel->name;

$this->phone = $hotel->phone;

$this->email = $hotel->email;

$this->address = $hotel->address;

$this->stars = $hotel->stars;

$this->check_in_time = $hotel->check_in_time;

$this->check_out_time = $hotel->check_out_time;

sehingga semua kode menjadi seperti berikut

Gagal membuat miniatur: Berkas tak ditemukan