Php 使用load()进行嵌套的即时加载
一篇帖子可以有很多评论 一条评论可以有很多喜欢的地方 当我显示一篇文章时,我急切地加载它的评论。对于这些评论中的每一条,我想展示一个事实,那就是文章的作者是否喜欢这些评论 因此,我发现自己确实需要Php 使用load()进行嵌套的即时加载,php,laravel,eager-loading,Php,Laravel,Eager Loading,一篇帖子可以有很多评论 一条评论可以有很多喜欢的地方 当我显示一篇文章时,我急切地加载它的评论。对于这些评论中的每一条,我想展示一个事实,那就是文章的作者是否喜欢这些评论 因此,我发现自己确实需要加载(),而不是用()链接更多的,这一切都是因为我需要首先检索文章的作者id($post->author->id)。然后,文章的作者id通过闭包进入巢穴 尽管事实上,这确实非常有效(它确实可以快速加载),但我对我的控制器现在看起来有多难看感到非常恼火 有没有一种方法可以像使用()查询范围a那样加载()?
加载()
,而不是用()链接更多的,这一切都是因为我需要首先检索文章的作者id($post->author->id
)。然后,文章的作者id通过闭包进入巢穴
尽管事实上,这确实非常有效(它确实可以快速加载),但我对我的控制器现在看起来有多难看感到非常恼火
有没有一种方法可以像使用()查询范围a那样加载()
?
我想以一种优雅的方式将这一块移动到特征中,而不是让它驻留在我的控制器中。
是的,我正计划在一个函数中移动那个讨厌的部分,但我真的希望我能保持管道/链接$post=post::query()->…->findOrFail($id)->?…
截图附在下面。我在寻求指导。代码是有效的
我将其移动到trait中的一个方法中
我将其移动到trait中的一个方法中