LARAVEL 5.7 - Mengenal Eloquent

November 08, 2018 by

Dengan menggunakan Eloquent ORM ini kita dapat berinteraksi databasenya jauh lebih cantik di sisi programming karena kode-kodenya jauh lebih jelas, metode-metodenya sudah diabstraksi, jadi kita bisa memakai lebih enak metode-metodenya dan lebih singkat, termasuk contoh kecilnya yaitu dibagian menggunakan query builder kita harus selalu memberi tahu kita pakai table yang mana, sekarang cukup dengan membuat model, jadi idenya setiap database, table kita akan buatkan satu file khusus/file modelnya. Nah file ini yang nantinya bertanggungjawab penuh untuk mengurusi table secara spesifik tadi.

Cara bikin model pada app/nama_model.php atau php artisan make:model nama_model

Jadi intinya file model berhubungan dengan table yang ada di database dan khusus untuk mengurusi 1 table saja. 
Blog::all(); ===> mengambil semua datanya
Blog::all(); ===> mengambil data berdasarkan parameter yang diberikan oleh method di dalam controller

++++ CRUD Eloquent ++++

// Insert ada yang biasa dan ada insert mass-assignment
Jadi ketika insert dengan methode ini maka, nilai dan key yang sudah dibuat dikode akan dieksekusi apakah akan menggunakan whitelist atau blacklist sehingga 
untuk whitelist memakai fillable
untuk blacklist memakai guarded 

fillable ==> untuk menginsert data ke db yang boleh masuk dengan kolom yang sudah ditetapkan oleh fungsi ini di dalam array

guarded ==> untuk menginsert data ke db yang boleh masuk data adalah semua kolom di table kecuali nama kolom yang ada tertulis di dalam array

Update 
$blog = Blog::where('title','halo halo')->first();
dd($blog);

methode first(); ==>berfungsi untuk menampilkan data pertama dari query yang dituju misal ada 2 data yang sama maka diambil pada id yang lebih kecil / data yang paling atas di database.

Beda dengan methode get(); dia akan menampilkan data semua yang match/cocok sesuai dengan kriteria dari where keyword yang telah ditulis. 

Jadi, Jika kira-kira ada data yang kembar di database dan ingin melakukan editing pada pada pertama maka memmakai metode first();

Cara update juga ada mass-assignment yaitu contohnya
Blog::find(5)->update([
'title' => 'adjaidjwijadiaw',
'description' => 'mass-assignment',
]);

0 comments:

Post a Comment