laravel模型获取修改前的值
前言
在最近的工作中遇到了这样一个问题,在使用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(‘数据库列名’);//获取原始数据 :