gpt4 book ai didi

Laravel:提供者没有变化时的模型事件

转载 作者:行者123 更新时间:2023-12-03 03:25:11 25 4
gpt4 key购买 nike

更新用户模型(user::update())时,它会触发“模型事件”:

  1. 用户::更新
  2. 用户::已更新

只有当有一些值发生变化时,如果没有变化,是否有办法触发另一个“事件”?谢谢

//Provider

public function boot()
{
User::updated(function ($user) {
//do something
});
}

最佳答案

您可以使用 isDirty() 方法检查模型是否已更改,并手动触发事件......例如:

User::updating(function ($user) {
if ( ! $user->isDirty())
{
event(...);
}
});

isDirty() 示例

$user = App\User::first();
$user->isDirty(); //false
$user->name = "Test";
$user->isDirty(); //true

但是在更新之前执行此操作,我想您应该在此处使用更新事件。

关于Laravel:提供者没有变化时的模型事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58199303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com