php - 在 Eloquent 模型事件中获取先前的属性值

标签 php laravel laravel-4 eloquent

有没有办法在其 savingupdating 事件中查看模型属性的旧值/先前值?

例如。是否可能出现以下情况:

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/

相关文章:

php - 是否有 ColdFusion 相当于 phpinfo()

php - Controller 中的 Laravel 反射异常

Laravel 4 背景图片 : url

php - 如何在 PHP 的 while 循环中分割返回的结果

php - Heroku 403 Forbidden - Laravel 5

php - Laravel - 路由到 "views"内的文件夹

mysql - Laravel 分页错误——调用未定义的方法 stdClass::links()

iis-7 - 在 Windows IIS Inetpub wwwroot 上安装 Laravel 4

javascript - 第一张图片在第二张图片上传时保存?

php - Laravel 我可以使用数据透视表作为模型吗