我正在尝试构建一个基本的Laravel Vue评论系统,以便同时学习两者。
现在,我正在尝试显示特定文章中的所有评论。
我的控制器返回json_response。
public function comments(Post $post)
{
return response()->json(
$post->comments
);
}
一切正常,我使用Axios get方法得到以下json响应。
[
{
"id":1,
"post_id":1,
"user_id":1,
"body":"Post Comment 1",
"created_at":null,
"updated_at":null,
"deleted_at":null
},
{
"id":2,
"post_id":1,
"user_id":1,
"body":"Post comment 2",
"created_at":null,
"updated_at":null,
"deleted_at":null
}
]
我正在使用Vue显示所有数据,但是我不确定如何在Comments
和Users
模型上获得雄辩的关系。
在Blade中,如果我将响应作为数据返回到View
中,则我可以显示用户,如下所示:
@foreach($post->comments as $comment)
{{ $comment->user->username }}
@endforeach
如何在json响应中传递用户与注释的关系,以从user_id值获取注释的用户?
答案 0 :(得分:3)
我设法在Laracasts的帮助下解决问题。
我必须将回复更改为
public function comments(Post $post)
{
return response()->json(
$post->comments->load('user');
);
}