ORM
对象关系模型
建立对象
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Student extends Model{
//指定表
protected $table='student';
//指定主键
protected $primaryKey='id';
}
使用ORM查询
//
$students=Student::all();
//查找主键
$students=Student::find(2);
//
$students=Student::where('id','>',5)
->orderBy('age','desc')
->first();
//聚合函数
$students=Student::where('id','>',2)->max('age');
dd($students);
使用ORM新增
$student=new Student();
$student->name='sam1';
$student->age =9;
//如果确认保存
//使用save方法会自动添加created_at updated_at字段,所以表中应该有这两个字段,否则报错,
//可以在模型中将timestamps设位false关闭
$bool=$student->save();
在student模型中
//使用save方法会自动添加created_at updated_at字段,所以表中应该有这两个字段,否则报错,可以在此处关闭
public $timestamps=false;
使用ORM批量赋值新增
$student=Student::create(
['name'=>'ssss','age'=>55]
);
这样会出现错误,因为还需要在student模型中允许批量赋值
//允许批量赋值的字段
protected $fillable=['name','age'];
//不允许批量赋值的字段
//protected $guarded=['...'];
查
//查找,如果没有则创建
$student=Student::firstOrCreate(
['name'=>'tttt']
);
//firstOrNew 查找,若没有创建对象,如果需要自己保存。
删
//通过模型删除
$student =Student::find(11);
$bool=$student->delete();
//通过主键删除
$num=Student::destroy(11);
$num=Student::destroy(11,12);
$num=Student::destroy([11,12,13]);
$num= Student::where('id','>','5')->delete();