Kembali ke Beranda

Blog Praktikum Laravel: Manajemen Users (CRUD)

1. Membuat Controller Resource

Untuk mempermudah proses CRUD, kita akan membuat controller resource menggunakan perintah:

php artisan make:controller UserController --resource

selanjutkan tambahkan kode program berikut pada route web.php

use App\Http\Controllers\UserController;
          Route::resource('users', UserController::class);

Sehingga jika dilihat pemetaan route php artisan route:list menjadi seperti gambar di bawah ini.

Isi file UserControllernya

2. Create User

Buka method create() di UserController.php:

Buat code seperti dibawah

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.

Form Create User

Selanjutnya tambahkan file css dan javascript select2 kedalam layout main.blade.php

Form Create User Form Create User

Selanjutnya membuat form inputan create user, silahkan edit user/create.blade.php menjadi seperti kode program berikut.

Tampilan Create user

3. Store User

Buka method store() dan tambahkan kode berikut:

Pada saat pengguna mengisi dan mengirimkan form create user, data dikirim menggunakan metode POST ke route users.store. Di dalam action store, data dari form ditangkap menggunakan $request->get('nama_input'). Data tersebut kemudian digunakan untuk membuat instance baru dari model User dengan $user = new \App\Models\User, lalu setiap nilai dari form di-assign ke properti yang sesuai pada objek tersebut. Setelah seluruh data terisi, objek User disimpan ke dalam database menggunakan perintah $user->save(). Jika proses penyimpanan berhasil, pengguna akan diarahkan kembali ke halaman daftar user melalui route users.index, sambil membawa session flash status sebagai notifikasi bahwa data berhasil disimpan.

4. Read/List Users

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, buka action index kemudian edit menjadi seperti kode program berikut.

List User

Selanjutnya buat file dengan nama index.blade.php pada folder views/user dan isi dengen kode program berikut.

List User

Karena menggunakan datatables tambahkan file css datatable pada bahian head main.blade.php dan file js datatables pada bagian bawah main.blade.php

List User

Selanjutnya menambahkan button untuk membuka form tambah user seperti kode program berikut.

List User

Tampilan List user

Kenapa pada kolom username wahyukhairi kosong? Itu dikarenakan saat saya membuat baru username nya, username yang saya buat sudah ada di database user sehingga terjadi duplikasi, oleh karena itu ketika kita menyimpan nya maka sistem tidak akan menampilkan nya dan akan menampilkan kolom kosong pada table.

5. Update User

Selanjutnya untuk melakukan proses update data user terlebih dahulu kita buatkan tombol action yang mengarahkan pada route users/edit/{user}/edit atau action edit pada UserController untuk menamilkan 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.

Edit

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. Selanjutnya buka action edit pada UserController dan isikan denga kode program berikut.

Kode diatas akan mengambil data user berdasarkan id user yang diidapatkan dan ditampung pada variable $user dan dikrimkan ke view user.edit, silahkan buat view didalam folder user/edit.blade.php dan isikan dengan kode program berikut.

Tampilan gambar edit user

Selanjutnya buka action update pada UserController kemudian isikan dengan kode program berikut ini.

Edit User

Selanjutnya kita akan mencoba melakukan perubahan data user seperti gambar dibawah ini.

Edit User

pada user diatas saya ingin mengedit nama Ihsan nurlela

Saya ubah menjadi nama anjas mara

Edit User

lalu tekan tombol simpan

maka tampilan list user akan diperbarui

Edit User

6. Delete User

Tambahkan form hapus di index.blade.php:

Tambahkan tombol atau link pada list user, silahkan buka view user/index.blade.php dan tambahkan kode program berikut dibawah link edit. Delete User

Selanjutnya buka action destroy pada UserController dan isikan dengan kode program berikut ini.

Delete User

Ketika diklik salah satu tombol hapus maka akan muncul pop up dialog peringatan apakah data akan dihapus seperti gambar dibawah ini.

Delete User

Jika kita tekan oke maka data akan dihapus, jika data berhasil dihapus maka akan muncul pesan seperti gambar berikut.

Delete User

7. Menambahkan Menu Sidebar

Buka file sidebar.blade.php dan tambahkan:

Sidebar Menu

Tampilan side bar

Kesimpulan

  • CRUD user berhasil dibuat menggunakan Laravel resource controller
  • Tampilan user-friendly dengan template SB Admin
  • Data user dapat ditambahkan, ditampilkan, diubah, dan dihapus