为了账号安全,请及时绑定邮箱和手机立即绑定

检查 Laravel 5.5 模型事件中的属性是否已更改

检查 Laravel 5.5 模型事件中的属性是否已更改

C#
牛魔王的故事 2021-07-02 10:01:33
我已经看到有一个函数调用wasChanged(),您可以在其中检查属性是否在更新时更改。不是脏,而是被改变和坚持但是我试图在我的模型事件启动函数中检查这个:public static function boot(){    parent::boot();    self::updated(function($appointment){        if($appointment->wasChanged('appointment_date')) {         // do something        }    });}这对我永远不起作用。有什么想法可以检查这个吗?isDirty 函数具有不同的行为,因为它用于检查请求中是否提交了属性。
查看完整描述

3 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

你可以检查 save() 方法是否返回 true:


$object = new Model;

$object->attribute = $value;

if($object->save(){

 // attribute changed

}


查看完整回答
反对 回复 2021-07-09
?
皈依舞

TA贡献1851条经验 获得超3个赞

经过一番搜索,我发现有一个有用的函数调用getOriginal()它返回原始属性值的数组。


所以我只需要访问我的属性并进行比较:


$original_date = $appointment->getOriginal()['appointment_date'];


if($appointment->appointment_date != $original_date) {


 ...


}


查看完整回答
反对 回复 2021-07-09
  • 3 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信