Laravel观察者Updating/Updated
Laravel Observer Updating/Updated
我不确定如何最好地做到这一点。我需要访问 is_dirty()
以检查是否更改了特定字段,这需要在观察者的 'Updating' 方法中完成。但我只想更新成功后才行动
如果 'Updating' 方法中有一种方法可以告诉它尝试保存更改,然后查看是否成功?
如果没有,什么是配对更新和更新的最佳方式?我是否会在更新中保存一个缓存值,指定相关字段是否被修改,然后在更新中提取该缓存值?或者有更好的方法吗?
您可以尝试以下方法:
class ModelObserver
{
public function updated(Model $model)
{
/**
* Listening inside 'updated' since we only care about model
* updated which have already happened
*/
if ($model->wasChanged('my-special-field')) {
// Do something...
}
}
}
您可以阅读有关 wasChanged
方法的更多信息 here。
我不确定如何最好地做到这一点。我需要访问 is_dirty()
以检查是否更改了特定字段,这需要在观察者的 'Updating' 方法中完成。但我只想更新成功后才行动
如果 'Updating' 方法中有一种方法可以告诉它尝试保存更改,然后查看是否成功?
如果没有,什么是配对更新和更新的最佳方式?我是否会在更新中保存一个缓存值,指定相关字段是否被修改,然后在更新中提取该缓存值?或者有更好的方法吗?
您可以尝试以下方法:
class ModelObserver
{
public function updated(Model $model)
{
/**
* Listening inside 'updated' since we only care about model
* updated which have already happened
*/
if ($model->wasChanged('my-special-field')) {
// Do something...
}
}
}
您可以阅读有关 wasChanged
方法的更多信息 here。