11 Juni 2025 ~ Oleh Surya Andika
Untuk membuat fitur manajemen users, kita akan menggunakan fungsi keseluruhan CRUD, maka kita akan membuat Controller Resource. Jalankan perintah berikut di terminal:
php artisan make:controller UserController --resource
Selanjutnya tambahkan route berikut pada web.php
use App\Http\Controllers\UserController;
Route::resource('users', UserController::class);
Sehingga jika dilihat pemetaan route php artisan route:list menjadi seperti gambar berikut.
Buka file app/Http/Controllers/UserController dan isi dengan fungsi-fungsi CRUD berikut:
Perintah return view('user.create') artinya menampilkan view create pada folder user. Selanjutnya buat folder user didalam folder view, kemudian tambahkan file create.blade.php dan isikan dengan kode program berikut ini.
Selanjutnya tambahkan file css dan javascript select2 ke dalam layouts main.blade.php. Tambahkan program berikut di bagian tag head:
Berikut adalah tampilan form input user
Form create user menggunakan method POST yang akan dikirimkan ke action store dengan route users.store,
selanjutnya pada action store akan ditangkap isi form create user dengan cara $request->get(‘nama input’).
Kemudian disimpan pada table user dengan cara instance model User dengan $user = new \App\Models\User.
Setelah itu assign sesuai dengan nama field. Untuk menyimpan kedalam database User, gunakan perintah
$user->save. Jika data berhasil disimpan, maka akan di redirect ke route users.index dengan membawa
session status.
Selanjutnya setelah fungsi create selesai kita akan menampilkan data user. Untuk menampilkan data user kita akan menggunakan method GET yaitu http://localhost/users, yang mana route ini merupakan action index pada UserController. Buat file index.blade.php pada folder view/user dan isi dengan kode program berikut:
Karena menggunakan datatables, tambahkan file css datatable pada bagian head main.blade.php
Sehingga tampilan list user menjadi seperti gambar dibawah ini
Untuk melakukan proses update data user, terlebih dahulu buat tombol action yang mengarahkan pada route users/edit/{user}/edit atau action edit pada UserController untuk menampilkan form dan menggunakan route users/edit/{user} untuk method PUT. Pertama-tama kita akan membuat tombol edit pada tampilan list user, silahkan buka file user/index.blade.php pada kolom [action] ganti dengan kode berikut ini.
Jika salah satu tombol diatas diklik maka akan menghasilkan string url http://localhost/users/{user}/edit yang mana {user} merupakan id dari user yang di klik. Update users menggunakan fungsi edit dan update dari UserController. Fungsi edit akan mengambil data user berdasarkan id user yang diidapatkan dan ditampung pada variable $user dan dikrimkan ke view user.edit. Selanjutnya data yang telah diedit akan disimpan menggunakan fungsi Update. Buat view edit.blade.php didalam folder user dan isikan dengan kode program berikut:
Sehingga tampilan form edit user menjadi seperti gambar dibawah ini
Tambahkan tombol untuk menghapus user pada list user. Buka view/user/index.blade.php dan tambahkan kode berikut dibawah kode tombol edit.
Penghapusan data user diatur oleh fungsi destroy pada UserController. Ketika di klik tombol hapus, maka akan muncul pop up dialog peringatan apakah data akan dihapus. Jika di klik OK, maka data akan dihapus.
Buka view/layouts/sidebar.blade.php kemudian tambahkan kode program berikut dibawah item dashboard.