Laravel5.1 模型--Model簡介


在正式進入本節的之前,讓我們先來看看什么是ORM。

ORM,即 Object-Relational Mapping(對象關系映射),它的作用是在關系型數據庫和業務實體對象之間作一個映射,這樣,我們在操作具體的 業務對象時,就不需要再去和復雜的SQL語句打交道,只需簡單的操作對象的屬性和方法即可。

ORM 兩種最常見的實現方式是 ActiveRecord 和 DataMapper,ActiveRecord 尤其流行,在很多框架中都能看到它的身影。兩者的區別主要在於 ActiveRecord 中模型與數據表一一對應,而 DataMapper 中模型與數據表是完全分離的。

Laravel 中的 Eloquent ORM 使用的也是 ActiveRecord 實現方式,每一個 Eloquent 模型類對應着數據庫中的一張表,我們通過調用模型類的相應方法實現對數據庫的增刪改查。

 

創建模型

我們使用artisan命令來創建模型:

php artisan make:model Models/Article

 laravel默認將所有創建的模型放到app路徑下,我們也可以在創建時指定一個文件夾。我們創建的這個模型 就在app\Models\路徑下。

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Article extends Model
{
    //
}

 

指定表名

如果不指定的話,Article模型對應的表就是articles,如果是一個Order模型 那它對應的表就是 orders,一次類推,如果要指定別的表明就添加一下代碼:

    //指定別的表名
    public $table = 'article';

 

指定主鍵

如果不指定主鍵,默認的主鍵是:id,如果要指定別的主鍵:

    //指定別的主鍵
    protected $primaryKey = 'article_id';

 

時間戳設置

默認情況下,Eloquent模型類會自動管理時間戳列create_atupdate_at,如果要取消自動管理,可以設置$timestamps屬性為false

    public $timestamps = false;

還有,如果你想要設置時間戳的格式,可以使用$dateFormat屬性,該屬性決定了日期時間以何種格式存入數據庫,以及以何種格式顯示:

    // 設置時間戳格式為Unix
    protected $dateFormat = 'U';

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM