siswa seperti lemari arsip. Model adalah kunci yang bisa kita gunakan untuk menyimpan, mengambil, mengubah, dan menghapus data dengan mudah. Dengan model, kita tidak perlu menulis perintah SQL yang rumit. Cukup panggil
Siswa::all() untuk ambil semua data, atau Siswa::create(...) untuk menambah data. Yuk kita buat! 🚀
Langkah 1: Buat Model Siswa dengan Artisan
1 Buka terminal/CMD di folder proyek siswaapi. Jalankan perintah:
Perintah ini akan membuat file model baru di app/Models/Siswa.php. Laravel secara otomatis akan menghubungkan model Siswa dengan tabel siswa (karena aturan penamaan: model singular, tabel plural).
php artisan make:model Siswa -m. Tapi karena kita sudah membuat migration sebelumnya, kita buat model saja.
Langkah 2: Lihat dan Pahami Kode Model
2 Buka file app/Models/Siswa.php dengan text editor. Isinya akan seperti ini:
Penjelasan baris per baris:
namespace App\Models;→ memberi tahu lokasi model ini.use HasFactory;→ fitur untuk membuat data palsu (opsional).class Siswa extends Model→ kelas Siswa mewarisi semua kemampuan dari kelas Model milik Laravel.
Dengan kode sesingkat ini, model Siswa sudah bisa berkomunikasi dengan tabel siswa. Keren, kan?
Langkah 3: Tambahkan Properti $fillable (Penting!)
3 Agar kita bisa menyimpan data dengan method create() (mass assignment), kita perlu memberi tahu kolom mana yang boleh diisi secara massal. Tambahkan properti $fillable di dalam class Siswa:
Mengapa perlu $fillable? Untuk keamanan, Laravel melindungi kita dari pengisian data yang tidak diinginkan. Dengan $fillable, kita menentukan kolom yang boleh diisi. Kolom id dan timestamps otomatis dikelola Laravel.
$guarded = [] untuk mengizinkan semua kolom. Tapi lebih aman menggunakan $fillable.
Langkah 4: Uji Model dengan Tinker
4 Laravel punya alat bernama Tinker untuk mencoba kode secara interaktif. Kita akan uji apakah model sudah terhubung dengan tabel. Jalankan:
Setelah masuk, coba perintah:
Jika berhasil, akan muncul koleksi kosong seperti:
Sekarang coba tambahkan data contoh:
Jika sukses, akan muncul objek siswa yang baru dibuat. Kemudian cek lagi:
Sekarang akan muncul data yang baru ditambahkan. Keluar dari Tinker dengan exit atau Ctrl + D.
MassAssignmentException, berarti kamu lupa menambahkan $fillable. Kembali ke Langkah 3.
Contoh Penggunaan Model (Nanti Kita Praktikkan)
✨ Beberapa method ajaib dari model:
Siswa::all()→ ambil semua data siswa.Siswa::find($id)→ ambil siswa berdasarkan ID.Siswa::create([...])→ tambah data baru.$siswa->update([...])→ ubah data.$siswa->delete()→ hapus data.
Semua ini akan kita gunakan saat membuat API CRUD. Praktis, bukan?
Ringkasan Langkah
- ✅ Buat model:
php artisan make:model Siswa - ✅ Model tersimpan di
app/Models/Siswa.php - ✅ Tambahkan properti
$fillableuntuk kolom nama, kelas, alamat. - ✅ Uji dengan Tinker:
php artisan tinkerlaluApp\Models\Siswa::all() - ✅ Coba tambah data contoh dengan
create()
📌 Ingat: Model adalah jembatan antara database dan aplikasi. Selalu gunakan model untuk berinteraksi dengan data.
(Link akan aktif saat artikel sebelumnya dan selanjutnya terbit)