Passing Data dengan Model dan Controller

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
Hapus // dan ganti dengan baris perintah
    use HasFactory;
    protected $fillable = [
        'namaKolom' => value
        ( nama-nama kolom, pisahkan masing-masing dengan koma )
    ];
 
Model kita nampak 

Kemudian kita buat setter dan getter untuk nama kolom, ingat kembali pelajaran OOP ya!

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()
$dataSiswa merupakan objek yang dibuat dari model DataSiswa
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!



Berhasil menampilkan! 😁
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? 

Ahmad Istakim

Alumni dari jurusan Manajemen Informatika di Universitas Sains Al-Qur'an (UNSIQ ) Wonosobo. Tertarik dalam bidang pendidikan, teknologi komputasi dan disiplin ilmu keislaman ( Tafsir, Hadits, Arudl, Nahwu-Sharaf, Fiqh maupun Aqidah ) - https://s.id/blog-islamQ. Pernah juga mengenyam pendidikan di beberapa pesantren yang ada di Kab. Wonosobo dan Kab. Purworejo

Posting Komentar

Lebih baru Lebih lama