Laravel Eloquent 骚操作

寵の児 提交于 2020-01-16 06:04:34

push

一对一关联模型,使用push可以一起保存。

$dynamic = PersonDynamic::query()->where('id', 1)->first();
$dynamic->setAttribute('content', '哈哈哈');
$dynamic->user->money = 10;
$dynamic->push();

 

不触发模型事件

注:Eloquent 的批量更新不会触发 saved 和 updated 事件。这是因为批量更新时,从不去检索模型。

laravel5.7以上

YourModel::withoutEvents(function(){
     // do something...
});

laravel5.7以下

$dispatcher = PersonDynamic::getEventDispatcher();
PersonDynamic::unsetEventDispatcher();
$first = PersonDynamic::query()->where('id', 1)->first();
$first->content = 999;
$first->saveOrFail();
PersonDynamic::setEventDispatcher($dispatcher);

模型是否被修改过

$first = PersonDynamic::query()->where('id', 1)->first();
var_dump($first->isDirty());//bool(false)
$first->setAttribute('content', 'haha');
var_dump($first->isDirty());//bool(true)
var_dump($first->isDirty(['content']));//bool(true)
var_dump($first->isDirty(['user_id']));//bool(false)
var_dump($first->getDirty());//["content" => "haha"]
var_dump($first->getOriginal());//原始数据
var_dump($first->getOriginal('content'));//745646

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!