如何获取 laravel 5.4 中帖子的评论名称

how to fetch commented name on posts in laravel 5.4

我按照惯例使用紧凑的方法查看所需的数据 架构用户 Table

id,name,email,password

架构postTable

id,user_id,title,body,photo

架构评论Table

id,post_id,user_id,comments,photo

在用户模型中

public function post()
  {
      return $this->hasMany(post::class);
  }

 public function comments()
   {
     return $this->hasMany(comment::class);
   }

在 post 模型中

Public function User()
{
  return $this->belongsTo('App\User');
}

public function comments()
{
    return $this->hasMany(comment::class);

}

在评论模型中

public function posts()
{
 return $this->belongsTo('App\post');
}

在控制器中

$list = User::with('post','comments')->paginate(1);

  return view('dynamic',compact('list'));

可见

@foreach($lists->comments as $comments)
{{$comments->name}}
@endforeach

post根据用户显示成功

和评论根据posts

成功显示

但是评论的名字没有显示 // 请帮助

如何与评论的用户名建立关系以获取评论

请帮忙提前谢谢

根据您的看法更改代码如下:

@foreach($lists->comments as $comments)
    {{$comments->User->name}}
@endforeach

您必须如下更改代码

@foreach($lists->comments as $comments)
    {{$comments->posts->user->name}}
@endforeach

您需要将关系添加到您的评论模型,如下所示

  Public function User()
{
  return $this->belongsTo('App\User');
}

之后您需要更改代码如下

@foreach($lists->comments as $comments)
    {{$comments->user->name}}
@endforeach