有没有办法在其 saving
或 updating
事件中查看模型属性的旧值/先前值?
例如。是否可能出现以下情况:
User::updating(function($user)
{
if ($user->username != $user->old->username) doSomething();
});
最佳答案
好吧,我偶然发现了这个,因为它目前不在文档中......
有一个 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'];
});
Be careful, prior to Laravel 7
getOriginal
ignores attribute type casting.
关于php - 在 Eloquent 模型事件中获取先前的属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17367383/