我有一个API端点,我想发送文章的所有相关数据。我有表格users
,comments
,articles
。 Users
表包含字段id
,first_name
,last_name
,表comments
包含字段id
,article_id
,{{1} }。关系定义如下:
文章模型:
user_id
用户模型:
public function comments()
{
return $this->hasMany('App\Comment');
}
评论模型:
public function comments()
{
return $this->hasMany('App\Comment');
}
现在在我的函数中,我正在获取文章,然后创建一个包含注释信息的数组。我应该为每个评论获取用户public function user()
{
return $this->belongsTo('App\User');
}
和first_name
,但我不知道如何执行此操作以及从eloquent查询中获取集合时是否可以执行此操作?
这是功能:
last_name
答案 0 :(得分:1)
现在您已经定义了关系,请使用它:
$article = Article::with('comments.user')->where('publish', '1')->orderBy('created_at', 'desc')->paginate(15);
现在在你看来是这样的:
@foreach($article->comments as $comment)
{{$comment->body}} by {{$comment->user->name}}
@endforeach