在Eloquent模型事件中获取以前的属性值
有没有办法在saving
或updating
事件中查看模型属性的旧/旧值?
例如。 是像以下可能的东西:
User::updating(function($user) { if ($user->username != $user->old->username) doSomething(); });
好的,我很偶然地发现这一点,因为它目前不在文档中。
有一个getOriginal()
方法可用,它返回原始属性值的数组:
User::updating(function($user) { $original = $user->getOriginal(); if ($user->username != $original['username']) { doSomething(); } });
拉拉维尔再次袭击!
在Laravel 4.0和4.1中,您可以使用isDirty()方法进行检查:
User::updating(function($user) { if ($user->isDirty('username')){ doSomething(); } });
你可以重载方法,然后调用父方法。