Introduction
Each database table has a corresponding "Model" which is used to interact with that table. Models allow you to query for data in your tables, as well as insert new records into the table.
First off u need to declare namespace inside php file and extend eloquent package.
<?php namespace App; use Illuminate\Database\Eloquent\Model;
Then, you can list out key working elements and define them in Eloquent ORM
- primary key
- table name
- mass assignments
Primary Keys
In Eloquent ORM , each model class will assume the tables has default primary key which namely id . You can override primary key inside model class using $primaryKey attribute.
class Customer extends model{ protected $primaryKey = 'customer_id'; }
Table Naming
Basically laravel will use default naming for tables if user did not specific the table name, such that using plural name for the model class. In this case, the class we are using is Customer. Turn out laravel will assume model record in customers table. You can specific table name by define using $table key.
class Customer extends model{ protected $table = 'customer'; }
Mass Assignment
You can define model attributes and make mass assignable. Use the $fillable key to make assign array elements.
class Customer extends model{ protected $fillable = array('customerid','customername'); }
Eloquent Relationship
Activities
1. Create Model Class (Customer, Customer Contact)
2. Modify App/Routes/Web.php
3. Create View Class using Blade Templating Engine
4. Create Eloquent Relationship
Sample Application
Today's lesson are creating model class that will create a relationship between two tables to produce a valuable information such that to create bills to customers or to get contact information based on their primary id.
Example of Creating Model Class (Customer)
class Customer extends model { protected $table = 'customer'; protected $fillable = array('customerid','customername'; public function customer_contact() { return $this->hasMany('App\Customer_contact); } }
References
https://laracasts.com/discuss/channels/eloquent/laravel-table-names-are-plural-by-default
https://laravel.com/docs/5.4/eloquent
No comments:
Post a Comment