在正式進入本節的以前,讓咱們先來看看什麼是ORM。php
ORM,即 Object-Relational Mapping(對象關係映射),它的做用是在關係型數據庫和業務實體對象之間做一個映射,這樣,咱們在操做具體的 業務對象時,就不須要再去和複雜的SQL語句打交道,只需簡單的操做對象的屬性和方法便可。laravel
ORM 兩種最多見的實現方式是 ActiveRecord 和 DataMapper,ActiveRecord 尤爲流行,在不少框架中都能看到它的身影。二者的區別主要在於 ActiveRecord 中模型與數據表一一對應,而 DataMapper 中模型與數據表是徹底分離的。數據庫
Laravel 中的 Eloquent ORM 使用的也是 ActiveRecord 實現方式,每個 Eloquent 模型類對應着數據庫中的一張表,咱們經過調用模型類的相應方法實現對數據庫的增刪改查。app
咱們使用artisan命令來建立模型:框架
php artisan make:model Models/Article
laravel默認將全部建立的模型放到app路徑下,咱們也能夠在建立時指定一個文件夾。咱們建立的這個模型 就在app\Models\路徑下。post
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Article extends Model { // }
若是不指定的話,Article模型對應的表就是articles,若是是一個Order模型 那它對應的表就是 orders,一次類推,若是要指定別的代表就添加一下代碼:spa
//指定別的表名 public $table = 'article';
若是不指定主鍵,默認的主鍵是:id,若是要指定別的主鍵:code
//指定別的主鍵 protected $primaryKey = 'article_id';
默認狀況下,Eloquent模型類會自動管理時間戳列create_at
和update_at
,若是要取消自動管理,能夠設置$timestamps
屬性爲false
:orm
public $timestamps = false;
還有,若是你想要設置時間戳的格式,可使用$dateFormat
屬性,該屬性決定了日期時間以何種格式存入數據庫,以及以何種格式顯示:對象
// 設置時間戳格式爲Unix protected $dateFormat = 'U';