文檔:http://laravelacademy.org/post/2995.html
ORM的思想
使用純面向?qū)ο蟮姆绞竭M(jìn)行數(shù)據(jù)操作
- PHP編寫的類 ==== 庫(kù).表
- 類里面存在屬性 ===== 表.字段
- 類的實(shí)例 ===== 表.記錄
- 類的實(shí)例方法 ==== 表的操作
laravel-admin腳手架
生成model,controller,數(shù)據(jù)遷移如下圖:
Model文件定義屬性:
通過(guò)上面的操作,我們生成了模型文件,但是需要要正式的使用模型,則必須要定義一些屬性。主要有如下四個(gè)屬性。
$table 表名,注意:在laravel里面表名建議是模型名稱的復(fù)數(shù),如果不是,則需要自己手工的指定
$primaryKey 主鍵id,注意:如果表的主鍵名稱不是叫做 id 則我們需要手工指定
$fillable 可填充的字段,注意:到時(shí)候使用模型的 create 方法做批量填充的時(shí)候,必須指定可以填充的字段,不然無(wú)法正常填充
$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ǔ)法:
實(shí)例化模型,得到模型對(duì)象
$articleModel = new App\Http\Models\ArticleModel();為模型對(duì)象的屬性賦值(屬性就是表中字段)
$articleModel ->title = '指定標(biāo)題賦值';
$articleModel ->body= '指定內(nèi)容賦值';調(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的代碼




