Materi MVC ini merupakan kelanjutkan dari sebelumnya yang membahas terkait passing data dengan controller
Di artikel atau materi ini pembahasan menjadi lebih lengkap, karena passing data yang dilakukan ini menyertakan model
Model ? 😕
Yaps! Model dalam MVC ini merupakan komponen penting dan digunakan dalam menghubungkan projek Laravel dengan basis data. Bisa disingkat bahwa model adalah penghubung antara data ke dalam suatu basis data.
Model berada di dalam folder app\Models\
Untuk membuat sebuah model bisa menggunakan dua cara, pertama langsung buat fail baru di dalam folder app\Models\ atau dengan menjalankan perintah artisan
php artisan make:model NamaModel
Perlu menjadi catatan bahwa jika membuat model dengan artisan maka baris kode dasarnya akan langsung ada. Sedang bisa dibuat manual maka keseluruhan kode harus di ketik sendiri.
Studi Kasus
"Menampilkan data siswa berupa nis, nama dan rombel"
Menggunakan Model
Langkah pertama adalah membuat modelnya terlebih dahulu
Contoh membuat model dengan artisan
Isi model yang dibuat dengan artisan
Perlu diingat bahwa model biasanya digunakan untuk pengelolaan data yang berhubungan dengan basis data
use HasFactory;
protected $fillable = [
'namaKolom' => value
( nama-nama kolom, pisahkan masing-masing dengan koma )
];
Model kita nampak
setNis digunakan untuk mengisi nilai dari kolom nis. Sedangkan getNis digunakan untuk menampilkan value atau mengambil value dari kolom nis.
Sip! Selesai untuk bagian model, sekarang pindah ke Controller
Kita buat method baru dengan nama indexMethod()
Tadi dalam model kita membuat setter setNis, ingat fungsinya kan? Yaps! Untuk mengisi atau memberikan nilai
Maka disini kita coba isi kolom nis dengan angka 90
Di bagian return, memanggil view terimaData dengan menyertakan parameter nis yang diambil dari getter getNis di model.
Pindah sekarang ke web.php untuk mengatur route
Buat route baru
Route ini akan menjalankan method indexModel() yang ada di dalam SiswaController. Dimana method indexModel() akan me-return view terimaData.blade.php dengan parameter nis.
Sip. Sampai sini, projek siap untuk dijalankan!
Coba ubah dengan angka lain....
Yuhuuuu.....
Berhasil 😊
Apakah bisa dengan data lebih dari satu!? Tentu!
Langkah pertama tambahkan kolom lain di dalam model, contoh nama dan alamat. Pisahkan masing-masing dengan koma.
protected $tabelSiswa = [
'nis' => "",
'nama' => "",
'alamat' => ""
];
Kemudian di bagian setter tambahkan juga untuk kedua variabel nama dan alamat, pisahkan dengan koma.
public function setNis($nis, $nama, $alamat) {
$this->tabelSiswa['nis'] = $nis;
$this->tabelSiswa['nama'] = $nama;
$this->tabelSiswa['alamat'] = $alamat;
}
Oiya, karena di dalam setter setNis bukan hanya nis. Baiknya udah namanya menjadi setData atau nama yang lain
Ada pertanyaan?
Tags:
Laravel