Получить предыдущее значение атрибута в событии красноречивой модели
Есть ли способ увидеть старое/предыдущее значение атрибута модели в ее событии saving
или updating
?
Например. Возможно ли что-то вроде следующего:
User::updating(function($user)
{
if ($user->username != $user->old->username) doSomething();
});
38
3 answers
Хорошо, я нашел это совершенно случайно, так как в настоящее время этого нет в документации...
Существует доступный метод getOriginal()
, который возвращает массив исходных значений атрибутов:
User::updating(function($user)
{
$original = $user->getOriginal();
if ($user->username != $original['username']) {
doSomething();
}
});
Ларавель снова наносит удар!
92
Author: coatesap, 2014-08-30 07:00:40
В Laravel 4.0 и 4.1 вы можете проверить с помощью метода IsDirty():
User::updating(function($user)
{
if ($user->isDirty('username')){
doSomething();
}
});
22
Author: Ola, 2014-08-29 14:31:17
Вы можете перегрузить методы, а затем вызвать родительский метод.
1
Author: Half Crazed, 2013-06-28 14:46:44