Eloquent ORM 模型

文檔:http://laravelacademy.org/post/2995.html

ORM的思想

使用純面向?qū)ο蟮姆绞竭M(jìn)行數(shù)據(jù)操作

  1. PHP編寫的類 ==== 庫(kù).表
  2. 類里面存在屬性 ===== 表.字段
  3. 類的實(shí)例 ===== 表.記錄
  4. 類的實(shí)例方法 ==== 表的操作

laravel-admin腳手架

生成model,controller,數(shù)據(jù)遷移如下圖:

Model文件定義屬性:

通過(guò)上面的操作,我們生成了模型文件,但是需要要正式的使用模型,則必須要定義一些屬性。主要有如下四個(gè)屬性。

  1. $table 表名,注意:在laravel里面表名建議是模型名稱的復(fù)數(shù),如果不是,則需要自己手工的指定

  2. $primaryKey 主鍵id,注意:如果表的主鍵名稱不是叫做 id 則我們需要手工指定

  3. $fillable 可填充的字段,注意:到時(shí)候使用模型的 create 方法做批量填充的時(shí)候,必須指定可以填充的字段,不然無(wú)法正常填充

  4. $timestamps 代表讓laravel自動(dòng)維護(hù) updated_at 和 created_at,注意,它的值為 boolean 如果是 false 代表關(guān)閉laravel自動(dòng)管理機(jī)制。true 代表laravel自動(dòng)維護(hù)這兩個(gè)字段

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Video extends Model
{
    // 定義四個(gè)屬性
    public $table = 'videos';
    public $primaryKey = 'id';
    public $fillable = ['title', 'author', 'pic', 'path', 'click', 'status'];
    public $timestamps = false;
}

curd操作

可以使用模型對(duì)象增加數(shù)據(jù) 或者 使用模型類進(jìn)行批量賦值

laravel控制器自動(dòng)生成增刪改查操作,并且連前端UI都不用管;如下圖

不過(guò)為了演示:在這里介紹源生代碼和tinker的使用

增加數(shù)據(jù)
語(yǔ)法:

  1. 實(shí)例化模型,得到模型對(duì)象
    $articleModel = new App\Http\Models\ArticleModel();

  2. 為模型對(duì)象的屬性賦值(屬性就是表中字段)
    $articleModel ->title = '指定標(biāo)題賦值';
    $articleModel ->body= '指定內(nèi)容賦值';

  3. 調(diào)用模型對(duì)象的 save() 方法進(jìn)行保存
    $articleModel->save();

代碼如下:
定義路由

tinker操作
主要是為了方便用戶進(jìn)行調(diào)試,不然總是使用var_dump dd print_r 或者使用 xdebug進(jìn)行調(diào)試)提供了一個(gè)命令行的交互界面,可以書寫PHP的代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容