laravel - 检测 Eloquent Updated 事件期间的特定更改

标签 laravel

使用 Eloquent 事件/观察器,是否可以检测更新事件中更新了哪些属性?或者,您可以访问以前的/新的值来进行比较吗?

我发现唯一的解决方案是通过检测 Controller 中已验证的请求数据中存在的特定字段来手动触发事件。

最佳答案

是的,绝对。您可以使用 Model 类的现有方法来访问各种数据集。以下方法应该对您想做的事情有所帮助。

<强> getChanges()
获取已更改的属性。 (并保存)

$model->getChanges()

<强> getOriginal()
获取模型的原始属性值。

$model->getOriginal()

<强> getDirty()
获取自上次同步以来已更改的属性。 (但尚未保存)

$model->getDirty()

关于laravel - 检测 Eloquent Updated 事件期间的特定更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58210927/

相关文章:

php - 来自数据库的 Laravel 显示名称

php - 'root@localhost' 的访问被拒绝(使用密码 : NO)

php - Laravel PSR-16 缓存。适配\Predis\Client 到\Redis?

laravel - 在laravel中将.heic图像转换为jpg图像格式

javascript - 在 Vue 中更新计算属性(表单)时出错?

php - Jwt token 无法生成

php - 我如何在 laravel 中使用 "php artisan migrate"迁移我的数据库

php - 带有约束的预加载会生成太多查询。我该如何缓解呢?

laravel - 获取每天两个日期之间的所有订单

php - 我如何使用 laravel 在 SQLite、PostgreSQL 和 MSSQL 数据库中启用/使用 JSON_EXTRACT 方法?