【发布时间】:2018-04-24 15:16:27
【问题描述】:
Laravel 文档中Eager Loading section 的第一句话是:
当访问 Eloquent 关系作为属性时,关系 数据是“延迟加载”。这意味着关系数据不是 实际加载,直到您第一次访问该属性。
在本节的最后一段中指出:
要仅在尚未加载关系时加载关系,请使用 loadMissing 方法:
public function format(Book $book)
{
$book->loadMissing('author');
return [
'name' => $book->name,
'author' => $book->author->name
];
}
但我看不出$book->loadMissing('author') 的目的。它在这里做什么?
如果我只删除这一行会有什么不同?根据第一句话,$book->author->name 中的作者无论如何都会 lazy-loaded 对吧?
【问题讨论】:
标签: php mysql laravel laravel-5