2013-06-28 19 views

Trả lời

79

Ok, tôi thấy điều này khá tình cờ, vì nó không có trong tài liệu hướng dẫn có mặt tại ...

Có một phương pháp getOriginal() sẵn mà trả về một mảng các giá trị thuộc tính ban đầu:

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

Laravel tấn công một lần nữa!

1

Bạn có thể quá tải phương thức, sau đó gọi phương thức gốc.

+0

và bây giờ chúng ta có thể làm điều đó ngay tại đây lớp 'AppServiceProvider kéo dài ServiceProvider' trong' phương pháp boot'. –

19

Trong Laravel 4.0 và 4.1, bạn có thể kiểm tra với isDirty() method:

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

Điều này cũng hoạt động trong Laravel 4.2. – sulaiman

+0

Cũng hoạt động ở 5.2.39. Cảm ơn Ola. –