[英]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.