对于查询中的每个评论,Laravel根据id识别用户信息

时间:2016-05-31 08:04:04

标签: laravel eloquent

我有一个API端点,我想发送文章的所有相关数据。我有表格userscommentsarticlesUsers表包含字段idfirst_namelast_name,表comments包含字段idarticle_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

1 个答案:

答案 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