4 回答
TA贡献1776条经验 获得超12个赞
在保存模型之前,您可以访问原始(旧)属性值,例如: $person->original
。
此外,您可以调用:$person->getChanges()
来获取所有更改的属性。
TA贡献1831条经验 获得超10个赞
在Save()函数之前以及覆盖第 2 行和第 3 行的变量之前,您可以通过执行以下操作获取旧数据:
$oldName = $person->name;
$oldAge = $person->age;
然后,保存后,您可以将值插入数组中,如下所示:
$values = array(
"oldName" => $oldName,
"newName" => "New Name",
"oldAge" => $oldAge,
"newAge" => "New Age",
);
因此,您可以通过执行以下操作从数组中获取值:
echo $values["oldName"];
echo $values["newAge"];
...
TA贡献1942条经验 获得超3个赞
您可以在进行更改之前克隆新检索的模型。沿着线的东西
$person = Person::find(1);
$original_person = cone $person;
// update the person object
// ...
$person->save();
您可以像这样继续构建数组:
[
'age' => ['old' => $original_person->age, 'new' => $person->age],
'name' => ['old' => $original_person->name, 'new' => $person->name]
]
TA贡献1796条经验 获得超10个赞
您可以在模型类中的 Updated() 启动函数中执行此操作
class Mymodel extends Model
{
public static function boot()
{
parent::boot();
self::updated(function ($model) {
var_dump($model->original);
var_dump($model->getChanges());
// Traverse the changed array and save with original values
});
}
}
- 4 回答
- 0 关注
- 86 浏览
添加回答
举报