Sebelumnya telah dipelajari bagaimana menggunakan Eloquent ORM dalam Laravel untuk melakupan operasi mengambil, menampilkan dan menyimpan data kedalam basis data MySQL.
BACA KEMBALI : Menampilkan Data dengan Eloquent dan Menyimpan Data dengan Eloquent ORM
Tentunya memang ada perbedaan antara Query Builder dan Eloquent, sesuai dengan kebutuhan dan kompleksitas aplikasi yang sedang dibangun. Keduanya memiliki keunggulannya masing-masing, sebaliknya juga memiliki kelemahan.
Kemudian, pada artikel pembelajaran Laravel kali ini akan mempelajari bagaimana cara melakukan operasi update dan delete dengan menggunakan Eloquent ORM.
Buka projek, lihat file biodata.blade.php
Jalankan, kode tersebut akan menghasilkan :
Rapikan tampilan dengan tabel, sertakan sekaligus kolom alamat untuk di tampilkan. Nantinya route /biodata ketika diakses akan menghasilkan tampilan :
Kemdian dengan menggunakan elemen atau tag <a>, buat kata Edit dan Hapus dalam kolom Aksi menjadi sebuah link / tautan :
Tampilan sekarang menjadi :
Menjadi biru untuk Edit dan Hapus.
Baris kode :
<td>
<a href="/biodata/edit/{{ $bio->id }}">Edit</a>
::
<a href="/biodata/hapus/{{ $bio->id }}">Hapus</a>
</td>
- <a href="/biodata/edit/{{ $bio->id }}">Edit</a> membuat Edit menjadi sebuah link ( biru ) dan saat ditekan akan mengarah ke route /biodata/edit dengan membawa parameter id yang diambil dari basis data $bio->id
- <a href="/biodata/hapus/{{ $bio->id }}">Hapus</a> membuat Hapus menjadi sebuah link ( berwarna biru ) dan saat ditekan akan mengarah ke route /biodata/hapus dengan membawa parameter id yang diambil dari basis data $bio->id
Setiap tautan / link harus di definisikan dalam file web.php karena semua route akan mengarah ke satu file tersebut. Dan perlu di definisikan ( dibuat ) guna menjalankan method yang ada dalam Controller.
Buat dua route tersebut dengan menyertakan BiodataController. Route /biodata/edit/{id} akan menjalankan method yang ada di dalam BiodataController.php yaitu tampilEdit(). Perlu dipahami bahwa method ini belum ada dalam web.php, maka perlu dibuat terlebih dulu. Method tampilEdi() ini akan menghasilkan return view ke file baru. File baru tersebut kita namai dengan tampilEdit.blade.php
Setelah selesai, coba jalankan php artisan serve, klik salah satu tautan Edit. Akan mengarahkan ke route /biodata/edit/{ id yang sesuai dengan data dari basis data }
Dalam hasil diatas, terlihat angka 1 karena data yang di klik sebelumnya memiliki id dengan value 1. Ini akan selalu menyesuaikan dengan data dari basis data.Kemudian dalam file tampilEdit.blade.php isi dengan baris kode mirip kaya pas melakukan input ( tambahBiodata.blade.php ).
Kembali lagi ke VS Code dan buka file tampilEdit.blade.php, pada elemen input type tambahkan properti value.
<td><input type="text" name="txUpNama" value="{{ $biodata->nama }}"></td>
Kemudian buat route-nya di web.php
Route::post('/biodata/simpanUpdate/{id}', [BiodataController::class, 'perbaruiData']);
Route ini akan memanggil BiodataController dengan menjalankan method perbaruiData(). Dalam method ini diisi dengan perintah :
Akses route /biodata dan cobalah untuk klik Edit
Pilih salah satu data dan klik Edit
Coba ubah datanya dan kemudian klik tombol Simpan
Yeaaaayy, data tersebut berhasil diperbarui 😎
Cek kode lengkap di GitHub : CRUD Laravel - MySQL dengan Eloquent ORM
Tags:
Laravel