根据https://laravel.com/docs/5.6/eloquent-serialization,可以setAppends在模型实例上使用以动态地向模型添加任何可用的额外属性。但是,除了遍历集合之外,我还没有找到对模型集合执行此操作的方法。
有没有更聪明的方法来做到这一点?像这样:
$facilities = Facility:all();
$facilities->setAppends();
Run Code Online (Sandbox Code Playgroud)
目前唯一的选择是:
foreach ($facilities as $facility) {
$facility->setAppends([
'your_attribute_here'
]);
}
Run Code Online (Sandbox Code Playgroud)
编辑:澄清一下,我想在运行时动态地做到这一点。我定义的额外属性在获取模型的任何地方都不需要,并且可能会导致大量额外开销。