3.关于laravel框架中数据库操作-Eloquent ORM
基本简介:Eloquent ORM为laravel自带的ActiveRecord实现,用于数据库操作,每个数据表都有一个与之相对应的“模型”(Model)用于和数据表的交互
1.model的建立,基础model
namespace App;
use Illuminate\Database\Eloquent\Model;
class Test extends Model{
//指定表名,不指定表名的情况表名就为模型的复数
protected $tabel = 'test';
//指定主键
protected $primaryKey = 'id';
//自动维护时间戳
public $timestamps = true;
//指定允许批量赋值的字段
protected $fillable = ['name','age'];
//指定不允许批量赋值的字段
protected $guarded = ['name','age'];
//将时间设成time()形式输出
protected function getDateFormat(){
return time();
}
//asDateTime($val)===>将时间变成数字格式
protected function asDateTime($val){
return $val;
}
}
Controller创建方法使用ORM查询
public function orm1{
// all(),输出为集合,查询表的所有记录
$test = Test::all();
=>>>Model名//查询函数
//find(),根据主键进行查询
$test1 = Test::find();
//findOrFail().根据主键查找,没查找到抛出异常
$test2 = Test::findOrFail
//和DB facade通用的方法
Test::get();
//查询所有数据
Test::where('id','>',1)->orderBy('age','desc')->first();
Test::chunk(2,function($test){
var_dump($test);
});
//聚合函数,max,min,count,avg...
Test::conut();
}
public function orm2(){
//使用模型新增数据
$test =new Test();
$test->name = 'name';
$test->age= 20;
$test->save();
//使用模型的Create方法新增数据
Test::creat(
['name'=>'test','age'=>20]
);
在没有设置批量赋值的情况下会报错
//firstOrCreat(),以属性查找信息,如果没有则新增
Test::firstOrCreat(
['name'=>'test']
);
//firstOrNew(),以属性查找信息,若没有,则建立新的实例,但没进行保存操作。若需要保存可以save();
$test = Test::firstOrNew(
['name'=>'first']
);
$bool = $test->save();
}
未完。。。
public function orm3(){
//通过模型修改
$test = Test::find(1);
$test -> name = 'test';
$bool = $test->save();
//批量更新
$num = Test::where('id','>',2)->update(
['name'=>'test2','age'=>20]
);
}
public function orm4(){
$test = Test::find(1);
$test->delete();
//通过主键删除
$num = Test::destory(1);
$num = Test::destory(1,2);
$num = Test::destory([1,2]);
$num = Test::where('id','>',2)->delete();
【3.关于laravel框架中数据库操作-Eloquent ORM】}
推荐阅读
- android第三方框架(五)ButterKnife
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- 四首关于旅行记忆的外文歌曲
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 醒不来的梦
- 关于自我为中心的一点感想
- 「按键精灵安卓版」关于全分辨率脚本的一些理解(非游戏app)
- 关于Ruby的杂想
- 关于读书的思考
- 关于this的一些问题(1)