Eloquent

Halo semua,
kembali lagi di SekolahQue. Kali ini kita masih akan membahas mengenai Eloquent. Kita masih akan melanjutkan project yang sebelumnya.



Fitur Eloquent ORM (Object Relational Model) memungkinkan penulisan kode yang berhubungan dengan objek (Entitas / Tabel pada Database) dioperasikan menggunakan konsep OOP. Sebelumnya, kita langsungkan saja dengan Studi kasusnya ya...
Buat tabel baru pada database migration dengan nama tabel guru dan field(NIP, nama_guru, Jenis_kelamin, Alamat).
  • Buat model baru pada folder app dengan nama Siswa.php, Kelas.php, dan Guru.php
- Model Siswa.php


Untuk membuat model, kalian mengetiknya manual ya...

- Model Kelas.php


- Model Guru.php

Sebelum membuat Model untuk tabel Guru ini, pastikan kalian membuat database migrationnya terlebih dahulu. Dikarenakan, Guru ini merupakan tabel baru yang akan dibuat pada studi kasus.

PENJELASAN :
  • $table
Variabel untuk menentukkan nama tabel pada database untuk model ini.
  • $fillable
Variabel untuk menentukkan field apa saja yang akan di fill atau di insert ke tabel pada model ini. Biasanya digunakan untuk mass-assignment.

Setiap Model dibuat terpisah atau masing - masing.
  • Modifikasi file app/Http/Controllers/SiswaController.php

- Controller siswa


Function store


Function destroy



- Controller fkelas


Function storekelas


Function destroykelas


- Controller guru


Function storeguru


Function destroyguru

  • Penggunaan
Seluruh method yang dipanggil setelah inisialisasi Eloquent sama dengan penggunaan DB Facades.

PENJELASAN :

\App\Siswa::find($id)


Method find hanya ada pada Eloquent Model, digunakan untuk mencari data pada model berdasarkan primary key. Biasanya primary key yang dicari adalah id. Selain id anda dapat mengaturnya pada model dengan meng-override variabel public $primaryKey
Jika dalam Query SQL, fungsi diatas akan menciptakan query sebagai berikut:

SELECT * FROM t_siswa WHERE id = ‘$id’

  • ORM Eloquent untuk mengisi data pada Controller Siswa


ORM Eloquent untuk update data / edit data pada Controller Siswa


Modifikasi kembali function - function yang bersangkutan dan sebelumnya sudah dimodifikasi. Dikarenakan materi yang diberikan memang seperti itu.

  • ORM Eloquent untuk mengisi data pada Controller fkelas


ORM Eloquent untuk update data pada Controller fkelas



  • ORM Eloquent untuk mengisi data pada Controller guru


ORM Eloquent untuk update data pada Controller guru


PERBEDAAN :

  • DB FACADES : Tidak memerlukan suatu model untuk memprotect setiap field pada tabel database.
  • ORM Eloquent : Menggunakan Model pada masing - masing tabel dan menggunakan modifier protected pada tiap - tiap field yang ada pada tabel tersebut. Dan juga dalam function untuk mengisi atau mengupdate data sangat jauh berbeda dikarenakan harus membuat satu persatu tag yang menunjukan field pada suatu tabel untuk menambahkan atau mengupdate data.
Contoh : 
DB FACADES :
INSERT DATA


UPDATE DATA


ORM Eloquent :
INSERT DATA


UPDATE DATA


HASIL :
- Controller siswa

- Controller fkelas

- Controller guru

Sekian dulu ya...
Mohon maaf apabila ada kesalahan...
Coba dirumah dan jangan takut mencoba...
#BelajarBersama

Komentar

Loading...

Postingan Populer