laravel - 如何在 laravel 中急切加载嵌套关系?
问题描述
我有三个实体User、Blog 和 Comments。我可以使用以下代码加载用户博客:
$userBlogs = User::with('blogs')->get();
但是我怎样才能急切地加载与每个博客相关的评论呢?
用户:
public function blogs() {
return $this->hasMany(Blog::class);
}
博客:
public function comments() {
return $this->hasMany(Comments::class);
}
解决方案
你可以这样做
$userBlogs = User::with('blogs.comments')->get();
或者你可以
$userBlogs = User::with(['blogs' => function ($query) {
$query->with('comments');
}]
推荐阅读
- c++ - 使用 C++ 时,在 Vim 中括号内的大括号上不需要突出显示
- python - 使用电源查询或 python 将多个表合并到具有相似标题的单个工作表中
- laravel - Laravel:传入模型实例或仅将 id 作为模型函数的参数?
- c - AFL-GCC 的编译方式与 GCC 不同
- reactjs - React Native 上下文函数不是函数
- objective-c - Lua if 语句在 for 循环中使用函数
- ios - IPA 处理失败:无法解析 @executable_path
- yolo - Yolov5 如何找到检测到的对象的像素大小?
- javascript - 未捕获的类型错误:无法读取未定义的属性“显示”
- php - Symfony 5 Serializer - 如何不公开整个数据库