Laravel 12 CRUD #8: Membuat Halaman Daftar Siswa (Read)
byFerdian Rahabista-
0
Laravel 12 CRUD #8 Membuat Halaman Daftar Siswa (Read)
📋 Tampilkan semua data siswa dalam tabel rapi!
👀 Waktunya melihat data siswa yang sudah kita simpan! Di artikel sebelumnya kita sudah membuat model, controller, dan rute. Sekarang kita akan mengisi method index() di controller untuk mengambil semua data siswa dari database, lalu menampilkannya dalam bentuk tabel menggunakan Blade (template Laravel). Siap? Yuk mulai! 🚀
Langkah 1: Ambil Data dari Database di Controller
1 Buka file controller app/Http/Controllers/SiswaController.php. Cari method index(). Sekarang kita akan mengambil semua data siswa menggunakan model Siswa. Ubah method index() menjadi seperti ini:
use App\Models\Siswa; // tambahkan di bagian atas file
public function index()
{
$siswa = Siswa::all(); // ambil semua data dari tabel siswa
return view('siswa.index', compact('siswa')); // kirim data ke view
}
Penjelasan:
Siswa::all() → perintah untuk mengambil semua data dari tabel siswa.
compact('siswa') → mengirim variabel $siswa ke file tampilan.
💡 Jangan lupa tambahkan use App\Models\Siswa; di bagian atas file controller agar bisa menggunakan model Siswa.
Langkah 2: Buat Tampilan dengan Blade (Tabel)
2 Sekarang kita buat file tampilan yang akan menampilkan data dalam tabel. Buka file resources/views/siswa/index.blade.php (jika belum ada, buat file baru). Isi dengan kode berikut:
@forelse ($siswa as $s) → loop untuk menampilkan setiap data siswa.
{{ $s->nama }} → menampilkan nilai kolom 'nama' dari data siswa.
@empty → jika tidak ada data, tampilkan pesan.
@endforelse → penutup loop.
🎨 Rapi, kan? Blade membuat kode HTML kita terlihat bersih dan mudah dipahami. Nanti kita akan membuat link "Tambah Siswa", "Edit", dan "Hapus" berfungsi.
Langkah 3: Uji Coba dengan Data Contoh
3 Sebelum menguji, pastikan database sudah ada tabel siswa dan kamu sudah menjalankan migration. Jika tabel masih kosong, kita bisa menambahkan data contoh sementara menggunakan Tinker. Buka terminal, jalankan:
php artisan tinker
Kemudian masukkan perintah berikut untuk menambah data contoh:
Sekarang jalankan server: php artisan serve, lalu buka http://localhost:8000/siswa. Kamu akan melihat halaman daftar siswa dengan tiga data di dalam tabel! 🎉
📌 Catatan: Jika tabel masih kosong, kamu akan melihat pesan "Belum ada data siswa". Itu wajar.
🎯 Selamat! Fitur Read (membaca data) sudah selesai! Kamu sekarang bisa melihat semua data siswa yang tersimpan. Selanjutnya kita akan membuat fitur Tambah Data (Create) agar bisa memasukkan siswa baru melalui halaman web. Terus semangat! 💪
Ringkasan Langkah
✅ Di controller index(), ambil data: $siswa = Siswa::all();
✅ Kirim data ke view: return view('siswa.index', compact('siswa'));
✅ Buat file Blade di resources/views/siswa/index.blade.php dengan tabel dan loop @forelse.
✅ Uji coba dengan menambah data contoh menggunakan Tinker.
✅ Akses http://localhost:8000/siswa dan lihat hasilnya.
📌 Blade itu keren! Dengan Blade kita bisa menulis HTML yang dicampur dengan kode PHP secara rapi. {{ }} untuk menampilkan data, @forelse untuk looping.