前言
在最近的工作中遇到了这样一个问题,在使用laravel 的model 模型获取到的数据后对原数据进行了修改,可是到后面发现原数据还要用,可是原数据已经被覆盖了,因为之前会存到另外一个变量里,但是由于会占用多余的内存。所以就存在了一个变量里。于是在重新看了一遍手册后发现了laravel model的一个函数。
下面是我随便拿了个数据。
一、相关函数
$oldValue = $AdminObj->getOriginal('数据库列名');//获取原始数据
二、解释
1.model
$obj = AdminJy::where('id',1)->first();
dd($obj);
1、当你打印查询到的model时你会发现model 中有两个字段值得注意 分别是
1.1、attributes :自定义数据
自定义顾名思义为你修改后的数据
$obj = AdminJy::where('id',1)->first();
$obj->created_at = date('Y-m-d',$obj->created_at);
dd($obj);
此时你会发现新增的数据位于attributes内,你要你要使用的话 直接 $obj->created_at;直接就能获取到数据
1.2、original:原始数据 无论如何修改模型原数据是不变的。
获取方法即为 $oldValue = $AdminObj->getOriginal(‘数据库列名’);//获取原始数据
: