Hallo teman-teman semua, apa kalian masih semangat belajar Laravelnya ? pasti masih semangat, yuk lanjut lagi biar makin JOSS. Nah sebelumnya kita sudah Belajar Laravel : Mengenal dan Membuat Seeder pada Laravel 5.3 untuk pemula, Selain itu ONPHPID juga sudah pernah menyinggung sebelumnya bahwa Laravel merupakan Framework yang mengusung konsep MVC (Model, Views dan Controllers) rasanya tidak afdol kalau kita tidak belajar tentang Model. Walaupun sebelumnya kita sudah membuat satu Model dengan nama Kendaraan, namun kita belum mempelajarinya. Jika teman-teman sudah belajar ataupun mengenal tentang OOP(object oriented programming) pada PHP, tentu kalian sudah mengetahui apa yang dimaksud dengan Model. Apa saja sih yang dapat kita pelajari dari penggunaan Model pada Framework Laravel.
Di Laravel, setiap model (yang merupakan turunan dari Eloquent) mewakili sebuah table pada database. Pada tutorial kali ini ONPHPID akan berbagi mengenai beberapa hal yang perlu kita ketahui tentang Eloquent.
Model pada Laravel berada di
app/
namun kita bebas memindahkannya dimanapun asal kan dapat diload oleh composer.
# Eloquent Model
Secara default Model pada laravel setelah digenerate adalah seperti di bawah ini :
1 2 3 4 5 6 7 8 9 10 |
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Kendaraan extends Model { // } |
# Penamaan Table
Penamaan table pada Laravel plural (makna jamak atau lebih dari satu) dari nama Modelnya, seperti yang pernah ONPHPID jelaskan pada tutorial sebelumnya. Jadi jika kita membuat nama Model Kendaraan plural (jamaknya) dari Kendaraan adalah kendaraans, jika nama Modelnya Motor maka nama tablenya yaitu motors. Jika ingin mengganti nama table maka kita hanya perlu menambahkan property pada modelnya seperti di bawah ini, karena jika tidak maka laravel tidak akan menemukan table yang dimaksud.
1 2 3 4 5 6 7 8 9 10 |
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Kendaraan extends Model { protected $table = 'kendaraan'; } |
# Primary Keys
O iya teman-teman, Eloquent pada Laravel akan selalu berasumsi bahwa primaryKey
di setiap table yang kita buat adalah colomns id. Selain itu laravel juga akan mengganggap bahwa primaryKey
dari table kita selalu menggunakan type data integer
dan autoincrement
. Jika kita ingin menggunakan primaryKey
dengan type data lain char
misalnya, untuk mengatasi error yang disebabkan hal tersebut, kita perlu menambahkan property pada model kita menjadi false
karena defaultnya true
, seperti ini :
1 2 3 4 5 6 7 8 9 10 11 |
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Kendaraan extends Model { protected $primaryKey = 'id_kendaraan'; // Misal kita memakai nama id_kendaraan public $incrementing = false; // defaultnya true } |
# Timestamps
Secara default Laravel akan menambahkan kolom created_at
dan updated_at
pada table yang kita buat menggunakan migrations. Jika kita tidak ingin menggunakan kedua kolom tersebut, kita perlu mengeset property $timestamps
pada model menjadi false
seperti di bawah ini :
1 2 3 4 5 6 7 8 9 10 |
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Kendaraan extends Model { public $timestamps = false; // defaultnya true } |
karena jika tidak di set menjadi false
, maka akan menyebabkan error ketika kita menambah data melalui form. Gimana teman-teman, cukup jelas kan yang sudah ONPHPID sampaikan. Jika teman-teman penasaran dan ingin membaca dokumentasi dari Laravel 5.3 tentang Eloquent dan Model bisa kesini.
Baca Juga : Belajar Laravel : Mengenal dan Membuat Seeder pada Laravel 5.3 untuk pemula
Sekian dulu tutorial Belajar Laravel : Eloquent dan Model Pada Laravel 5.3 untuk pemula. Jika ada hal yang kurang jelas atau ingin ditanyakan dapat melalui komentar. JANGAN LUPA like FANSPAGE ONPHPID untuk update informasi dan Subscribe Channel ONPHPID Tutorial. Selamat Belajar…