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 關注
- 122 瀏覽
添加回答
舉報