Pada sesi belajar Laravel bagian ke 8, kita telah mempelajari CRUD tentang cara membuat CRUD tambah data. Dalam lanjutan belajar laravel bagian ke 9 ini, kita akan belajar membuat CRUD edit data di Laravel, tentunya masih menggunakan Query Builder.
Membuat CRUD Edit data di Laravel
Pada sesi belajar Laravel CRUD bagian edit data ini, kita akan menggunakan Query Builder. Query Builder adalah fitur canggih dari Laravel yang memudahkan pengelolaan database.
Dengan fitur ini, kita tidak perlu sepenuhnya memahami perintah query database seperti MySQL. Aplikasi yang kita buat pun dapat terhubung ke database dengan lebih mudah. Berikut ini langkah-langkah membuat fitur edit data pegawai di Laravel.
Langkah 1. Membuat route edit data pegawai
Langkah pertama, mari membuat route edit data pegawai di file routes/web.php. Pada baris terakhirnya, silakan Anda tambahkan script berikut.
Route::get('/pegawai/edit/{id}', [PegawaiController::class, 'edit']);
Keterangan:
{id} pada Route diatas digunakan sebagai identitas/ nomor mana yang ingin dilakukan edit. Setelah mendapatkan id data yang akan di edit, maka informasi id tersebut akan diteruskan ke PegawaiController method edit.
Langkah 2: Membuat method edit di PegawaiController
Berikutnya, membuat method edit di PegawaiController. Id yang dikirimkan oleh route sebelumnya, ditindaklanjuti oleh controller untuk memanggil detail data sesuai dengan id yang diminta.
Silakan edit file app/Http/Controllers/PegawaiController.php, tambahkan code berikut.
// method untuk edit data database ke table pegawai
public function edit($id)
{
// digunakan u, Ambil data pegawai berdasarkan id
$pegawai = DB::table('pegawai')->where('pegawai_id', $id)->first();
// Digunakan u, tampilkan view edit dan kirim data pegawai
return view('pegawai.edit', ['pegawai' => $pegawai]);
}
Keterangan:
Perintah tersebut digunakan untuk memanggil data pegawai dengan id yang dipilih. Selanjutnya, data tersebut ditampilkan ke form edit pegawai.
Langkah 3: Membuat View untuk Form Edit
Selanjutnya, buat form edit pegawai. Silakan membuat file untuk form edit di resources/views/pegawai/edit.blade.php. Silakan tuliskan kode berikut.
<!DOCTYPE html>
<html>
<head>
<title>Edit Data Pegawai</title>
</head>
<body>
<h2>Form Edit Data Pegawai</h2>
<!-- Ini adalah Tombol kembali ke halaman utama pegawai -->
<p>
<a href="/pegawai">Kembali</a>
</p>
<!-- Contoh Form Edit Data Pegawai Sederhana -->
<form action="/pegawai/update/{{ $pegawai->pegawai_id }}" method="post">
{{ csrf_field() }}
<table>
<tr>
<td><label for="nama">Nama</label></td>
<td><input type="text" id="nama" name="nama" value="{{ $pegawai->pegawai_nama }}" required="required"></td>
</tr>
<tr>
<td><label for="jabatan">Jabatan</label></td>
<td><input type="text" id="jabatan" name="jabatan" value="{{ $pegawai->pegawai_jabatan }}" required="required"></td>
</tr>
<tr>
<td><label for="umur">Umur</label></td>
<td><input type="number" id="umur" name="umur" value="{{ $pegawai->pegawai_umur }}" required="required"></td>
</tr>
<tr>
<td><label for="alamat">Alamat</label></td>
<td><textarea id="alamat" name="alamat" required="required">{{ $pegawai->pegawai_alamat }}</textarea></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;">
<input type="submit" value="Simpan Data">
</td>
</tr>
</table>
</form>
</body>
</html>
Keterangan:
Saat tombol Submit di klik, data yang telah diisi di form edit kemudian dikirimkan ke method pegawai update. Tak lupa, buat route updatenya terlebih dahulu.
Langkah 4: Membuat Route untuk Update Data
Langkah ke empat, membuat route untuk melakukan proses update data. Silakan tambahkan script berikut di file routes/web.php. Tambahkan kode berikut.
Route::post('/pegawai/update/{id}', [PegawaiController::class, 'update']);
Keterangan:
Dari route tersebut, datanya akan dikirim ke PegawaiController dengan method update.
Langkah 5: Membuat Method update di Controller
Langkah ke lima, buat method update di PegawaiController untuk memproses perubahan data. Silakan edit file app/Http/Controllers/PegawaiController.php
// Membuat method proses edit data
public function update(Request $request, $id)
{
// Validasi data
$request->validate([
'nama' => 'required|string|max:255',
'jabatan' => 'required|string|max:255',
'umur' => 'required|integer|min:18',
'alamat' => 'required|string',
]);
// Update data pegawai di database
DB::table('pegawai')->where('pegawai_id', $id)->update([
'pegawai_nama' => $request->nama,
'pegawai_jabatan' => $request->jabatan,
'pegawai_umur' => $request->umur,
'pegawai_alamat' => $request->alamat,
]);
//Setelah itu redirect kembali ke halaman utama data pegawai
return redirect('/pegawai')->with('success', 'Selamat Data pegawai Anda berhasil diupdate');
}
Setelah data pegawai berhasil di edit, selanjutnya halaman website akan dialihkan ke tampilan utama Data Pegawai dengan menampilkan pesan sukses ‘Selamat Data pegawai Anda berhasil diupdate’.
Sampai disini, langkah pembuatan fitur edit telah selesai dilakukan. Terakhir adalah tahap testing untuk memastikan program yang dibuat sesuai dengan rencana.
Langkah 6: Melakukan testing edit data pegawai
Langkah terakhir melakukan testing pada menu edit yang baru saja dibuat. Silakan jalankan terlabih dahulu service Laravelnya dengan perintah artisan berikut.
php artisan serve
Selanjutnya, akses url http://127.0.0.1:8000/pegawai dari browser favorit Anda, lalu lakukan testing edit data pegawai.
Klik tombol edit pada salah satu pegawai yang ingin diubah informasi identitasnya.
Kami akan mencoba mengubah nama pegawai, setelah itu klik Simpan Data.
Selamat, data berhasil di edit. Terasa mudah bukan?
Kesimpulan
Fitur edit data pada CRUD laravel adalah salah satu bagian penting dalam pengelolaan aplikasi berbasis database. Untuk memastikan fitur ini berjalan dengan baik, ada beberapa langkah yang harus dilakukan secara berurutan, seperti membuat route edit, membuat method edit di controller, membuat view, hingga menambahkan route update datanya.
Dengan mengikuti langkah-langkah diatas, Anda dapat membuat fitur edit data berfungsi secara baik dan dapat diimplementasikan dalam beberapa bagian pada website.
Demikianlah cara membuat fitur edit data di Laravel menggunakan Query Builder. Kita hampir sampai di penghujung series CRUD Laravel. Pada sesi belajar laravel selanjutnya, kami akan menjelaskan tentang bagaimaan cara membuat CRUD hapus data pegawai. Semoga bermanfaat.