使用 Eloquent 事件/观察器,是否可以检测更新事件中更新了哪些属性?或者,您可以访问以前的/新的值来进行比较吗?
我发现唯一的解决方案是通过检测 Controller 中已验证的请求数据中存在的特定字段来手动触发事件。
最佳答案
是的,绝对。您可以使用 Model 类的现有方法来访问各种数据集。以下方法应该对您想做的事情有所帮助。
<强> getChanges()
获取已更改的属性。 (并保存)
$model->getChanges()
<强> getOriginal()
获取模型的原始属性值。
$model->getOriginal()
<强> getDirty()
获取自上次同步以来已更改的属性。 (但尚未保存)
$model->getDirty()
关于laravel - 检测 Eloquent Updated 事件期间的特定更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58210927/