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