Edit / Perbarui Data dalam Laravel - MySQL dengan Eloquent ORM

Sebelumnya telah dipelajari bagaimana menggunakan Eloquent ORM dalam Laravel untuk melakupan operasi mengambil, menampilkan dan menyimpan data kedalam basis data MySQL.
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
Kemudian buat route di file web.php
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

Buat file baru 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 ).

Sekarang coba tambahkan perintah {{ $biodata->nama }} dalam file tampilEdit.blade.php

Sekarang akses route /biodata dan klik tombol Edit maka akan muncul salah satu nama :

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>


Sesuiakan dengan kolom kita yaitu nama dan alamat. Pada form action arahkan ke route /biodata/simpanUpdate/{{$biodata->id}}

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 :

Selanjutnya jalankan kembali dengan php artisan serve
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





Ahmad Istakim

Alumni dari jurusan Manajemen Informatika di Universitas Sains Al-Qur'an (UNSIQ ) Wonosobo. Tertarik dalam bidang pendidikan, teknologi komputasi dan disiplin ilmu keislaman ( Tafsir, Hadits, Arudl, Nahwu-Sharaf, Fiqh maupun Aqidah ) - https://s.id/blog-islamQ. Pernah juga mengenyam pendidikan di beberapa pesantren yang ada di Kab. Wonosobo dan Kab. Purworejo

Posting Komentar

Lebih baru Lebih lama