我在我的API开发项目中将Laravel资源控制器与路由模型绑定一起使用。我有下面的代码
public function show(Post $post)
{
return $post->comments()->get();
}
我正在使用下面的URL
http://127.0.0.1:8000/api/posts/1
我想检索两个post
值和comments
值。
但是我只得到comments
个值。
答案 0 :(得分:1)
您是否尝试过雄辩的load
又名懒惰的渴望加载https://laravel.com/docs/5.6/eloquent-relationships#lazy-eager-loading
有时,在检索到父模型之后,您可能需要急于加载一个关系。例如,如果您需要动态决定是否加载相关模型,这可能会很有用:
在您的情况下,类似
$post->load('comments')
答案 1 :(得分:1)
您应该在模型“ Post”,“ Comment”中建立关系,并获得下一个形状。
$post->comments;
如果您的模型中没有关系,则应在此答案列表中发布模型。
答案 2 :(得分:0)
如果在两个模型中都设置了关系,则仅发送帖子将加载帖子和评论