laravel5.8如何在数据更新后获取更新前的原始属性方法

2023-06-01 00:00:00 更新 属性 原始

laravel使用save()数据更新后,保存到数据库了,如何获取更新前的原始记录?


getOriginal()方法

当修改一条 Eloquent 模型记录的时候你可以通过调用 getOriginal() 方法获取记录的原始属性


注意版本:laravel7

getOriginal 方法

受影响可能性:低


$model->getOriginal() 方法现在将重视模型中定义的类型转换。

此前,此方法返回未被修改的原始属性。

如今,如果你希望获取未经修改的原始属性,

请使用 getRawOriginal 方法。

https://learnku.com/docs/laravel/7.x/upgrade/7445#46ee96


测试代码:

$user = User::query()->find(2);
$user->name = 'houtizong';
$user->save();

//save () 方法会更新原始值,想要获得原始值,
//save () 方法之前先用getOriginal()方法把old数据存进变量

//原始属性
$old = $user->$user->getOriginal();


这个$old就是原始属性数据,你可以直接用了


ps:

框架毕竟是框架要跟着版本走,

如果你要升级框架版本或用一个新版本,

官方的升级说明还是要看一眼的

相关文章