我不明白为什么无法在数据库表中保存未序列化的雄辩模型。
我正在尝试还原由App\Document
模型表示的“文档”的先前版本。在更新每个文档模型之前,会将先前的“版本”序列化并存储在不同的表中,以便将来可以对其进行检索。
当我检索序列化的模型并对其进行反序列化(unserialize())时,我正在模型上调用save()方法,但是什么也没有发生。
代码:
$targetModel = unserialize($serializedModel);
$modelSaved = $targetModel->save();
$modelSaved
始终为true,但数据库表中的行不会更改。
在查看了API之后,我看到当我们在模型上调用save()时,只有模型存在且为dirty
时,才会进行更新。
请注意,如果我“转储” $targetModel
,则属性attributes
和original
是相同的,对isDirty()
的调用将返回false
。 / p>
我还尝试过修改未序列化模型的属性,以使isDirty()
返回true,但未做任何更改。
关于如何将未序列化的模型保存到数据库中的任何想法?我肯定在这里做错了。