上下文:我正在使用Lumen构建JSON API,并希望使请求尽可能小
我无法弄清楚如何在加载时有条件地添加雄辩的模型属性。
我的示例解释起来很复杂-因此,我将尝试将其简化为更简单的解释。
让我们以类别,帖子和评论为例。
在关系方面:
问题1 :我已通过属性将评论“附加”到帖子-这是正确的吗?
我已使用getCommentsAttribute
方法并将comments
添加到模型上的appends
数组中。
但是,当列出某个类别中的所有帖子时,就会出现 Comments 的情况-从而使JSON成为一个相当大的文件(许多具有许多类别的帖子)。
我意识到这是因为它们会被自动附加并从appends
数组中删除。
但是,我随后努力让他们回来。如果我想要一个包含注释的其他类别列表,我似乎无法引用它们
Categories::find(2)->with([
'posts'
]);
我尝试过在帖子后添加查询,并在语句中使用其他查询,但似乎无法访问评论。
问题2:您如何有条件地将属性添加到热切的load语句中,以便在某些请求上加载它们?