Laravel 12 CRUD
#7 Membuat Controller dan Rute untuk Siswa
Di Laravel, kita buat Controller untuk menyimpan semua logika (mengambil data, menyimpan, dll), dan Rute untuk menghubungkan URL dengan controller. Yuk kita buat!
Langkah 1: Buat Controller dengan Artisan
1 Buka CMD/terminal di folder proyek siswaapp. Jalankan perintah ini untuk membuat controller khusus siswa:
Perintah --resource akan membuat controller yang sudah berisi method standar untuk CRUD: index (daftar), create (form tambah), store (simpan), show (detail), edit (form edit), update (perbarui), destroy (hapus).
app/Http/Controllers/SiswaController.php. Buka file itu nanti untuk melihat method yang sudah disiapkan Laravel.
Langkah 2: Daftarkan Rute untuk Semua Aksi Siswa
2 Buka file rute utama: routes/web.php. Di dalamnya, tambahkan baris berikut:
Baris ini secara otomatis membuat 7 rute sekaligus:
GET /siswa→ index (daftar siswa)GET /siswa/create→ create (form tambah)POST /siswa→ store (simpan data baru)GET /siswa/{id}→ show (detail siswa)GET /siswa/{id}/edit→ edit (form edit)PUT/PATCH /siswa/{id}→ update (perbarui data)DELETE /siswa/{id}→ destroy (hapus data)
Keren, kan? Hanya satu baris, semua rute CRUD siap pakai! 🚀
php artisan route:list di terminal.
Langkah 3: Uji Rute dengan Membuat Tampilan Sederhana
3 Agar tahu rute berfungsi, kita buat tampilan sederhana untuk method index. Buka SiswaController.php, cari method index(). Ubah menjadi:
Sekarang kita perlu membuat file tampilan di resources/views/siswa/index.blade.php. Buat folder siswa di dalam resources/views, lalu buat file index.blade.php dengan isi sederhana:
Jalankan server (php artisan serve) dan buka http://localhost:8000/siswa. Kamu akan melihat halaman “Daftar Siswa” yang kita buat. 🎉
Langkah 4: Memahami Struktur Controller (Singkat)
4 Mari kita lihat method apa saja yang sudah ada di SiswaController.php dan fungsinya:
index()→ menampilkan semua data siswa (daftar).create()→ menampilkan form untuk tambah siswa baru.store(Request $request)→ menyimpan data siswa baru ke database.show($id)→ menampilkan detail satu siswa.edit($id)→ menampilkan form edit data siswa.update(Request $request, $id)→ memperbarui data siswa.destroy($id)→ menghapus data siswa.
Setiap method ini akan kita isi satu per satu di artikel berikutnya. Tapi untuk sekarang, kita sudah punya fondasi: controller dan rute! 🧱
Ringkasan Langkah
- ✅ Buat controller resource:
php artisan make:controller SiswaController --resource - ✅ Daftarkan rute resource di
routes/web.php:Route::resource('siswa', SiswaController::class); - ✅ Buat tampilan sederhana untuk method
index()diresources/views/siswa/index.blade.php - ✅ Uji akses:
http://localhost:8000/siswa
📌 Ingat: Rute resource membuat 7 rute sekaligus. Controller resource menyediakan method yang sesuai. Tinggal kita isi logikanya!
(Link akan aktif saat artikel sebelumnya dan selanjutnya terbit)