查询关系
Eloquent 还允许你查询已定义的关系,如下所示:
User::whereHas('articles', function (Builder $query) {
$query->where('published', '!=', true);
})->get();
在这种情况下,这要求你的关系方法名称为 articles
。传递给闭包的参数是相关模型的查询生成器,因此你可以在其他地方使用任何查询。
渴望加载
假设用户模型与文章模型有关系,并且你希望加载相关文章。这意味着在检索用户时将加载用户的文章。
articles
是 User 模型中的关系名称(方法)。
User::with('articles')->get();
如果你有多重关系。例如文章和帖子。
User::with('articles','posts')->get();
并选择嵌套关系
User::with('posts.comments')->get();
调用多个嵌套关系
User::with('posts.comments.likes')->get()