好的,我很偶然地发现了这个,因为它目前不在文档中......
有一个可用的 getOriginal()
方法返回原始属性值的数组:
User::updating(function($user)
{
if ($user->username != $user->getOriginal('username')) {
doSomething();
}
// If you need multiple attributes you may use:
// $originalAttributes = $user->getOriginal();
// $originalUsername = $originalAttributes['username'];
});
请注意,在 Laravel 7 getOriginal 之前忽略属性类型转换。
在 Laravel 4.0 和 4.1 中,您可以使用 isDirty() method 检查:
User::updating(function($user)
{
if ($user->isDirty('username')){
doSomething();
}
});
您可以重载方法,然后调用父方法。
boot
方法中的 class AppServiceProvider extends ServiceProvider
中执行此操作。
getRawOriginal()
。请参阅升级指南:laravel.com/docs/7.x/upgrade