在Laravel中,我们可以使用嵌套关系加载模型
User::with('posts.comments.likes')
但是在其他地方我们如何检测是否加载了嵌套关系?有方法吗?
Model :: relationLoaded()仅检测直接关系.
public function relationLoaded($key)
{
return array_key_exists($key, $this->relations);
}
最佳答案 获取嵌套关系的状态是不可能的 – 至少除了遍历相关对象并为每个对象单独检查关系之外别无他法.
很好的理由为什么它没有实现可能是这样的事实,如果关系是X-to-many,就像在你的情况下用户可以有多个帖子一样,可以只为集合中的一些帖子急切加载评论.