【发布时间】:2018-08-02 04:24:47
【问题描述】:
我有一个model,我想在保存后获取该模型字段的旧值,我使用的是getOldAttribute() 方法,它总是返回最新值?
代码示例
class User extends ActiveRecord
{
public function fields()
{
return [
'id',
'name',
'email' //old value: example@example.com
];
}
}
class UserService extends BaseService
{
/**
* Current user have email is `test@test.com`
*/
public function update(User $user)
{
//before save
$oldEmailBeforSave = $user->getOldAttribute('email'); //work fine and value is `example@example.com`
//handle update user
$this->saveEntity($user)
//after save
$oldEmailAfterSave = $user->getOldAttribute('email'); //not work and value is `test@test.com`
}
}
【问题讨论】:
-
你的代码的一些快照会有帮助..!
-
我添加了代码示例@Gru
-
临时解决方案:创建一个原始用户并使用它@@
标签: activerecord yii2