2013-06-28 8 views

Odpowiedz

79

Ok, znalazłem to zupełnie przez przypadek, ponieważ nie jest w dokumentacji w chwili obecnej ...

Jest getOriginal() dostępną metodą, która zwraca tablicę oryginalnych wartości atrybutu:

User::updating(function($user) 
{ 
    $original = $user->getOriginal(); 
    if ($user->username != $original['username']) { 
     doSomething(); 
    } 
}); 

Laravel znowu uderza!

1

Można przeciążać metody, a następnie wywołać metodę macierzystą.

+0

i teraz możemy zrobić to tutaj 'klasa AppServiceProvider rozciąga ServiceProvider' w' metody boot'. –

19

W laravel 4.0 i 4.1, można sprawdzić z isDirty() method:

User::updating(function($user) 
{ 
    if ($user->isDirty('username')){ 
     doSomething(); 
    } 
}); 
+0

Działa to również w Laravel 4.2. – sulaiman

+0

Działa również w wersji 5.2.39. Dzięki, Ola. –