繁体   English   中英

如何在Laravel Eloquent模型中更新数据恢复?

[英]How to update on data restauration in a Laravel Eloquent model?

从数据库加载Eloquent模型时,我希望能够运行一些代码。 fill()似乎不是正确的方法,因为当我从查询加载对象时它不是代码。

上下文又称 “为什么要这么做”

我希望我的对象具有一些复杂的属性,这些属性当前表示为公共属性,在保存时以JSON的形式持久保存,我需要在从数据库加载时将其恢复。

Laravel:5.6

尽管在laravel文档中已提及,但您正在寻找的事件已被retrieved到,与其他事件相比,它不是很明显,您可以像这样执行或将其委托给观察者类:

Model::retrieved(function(Model $model) {
    $model->foo = json_decode($this->json)['foo']; // '{"foo":"bar"}'
})

(是的,此事件在从数据库中检索到它之后但在其他代码之前运行)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM