我遵循约定以紧凑的方法查看所需的数据以进行查看 架构用户表
id,name,email,password
模式发布表
id,user_id,title,body,photo
架构注释表
id,post_id,user_id,comments,photo
在用户模型中
public function post()
{
return $this->hasMany(post::class);
}
public function comments()
{
return $this->hasMany(comment::class);
}
在帖子模型中
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
帖子根据用户显示成功
以及根据帖子成功显示的评论
但未显示评论的名字//请帮助
如何建立关系以获取带有注释用户名的注释
请先帮助谢谢
答案 0 :(得分:0)
在您的视图中更改代码如下:
@foreach($lists->comments as $comments)
{{$comments->User->name}}
@endforeach
答案 1 :(得分:0)
您必须按如下所示更改代码
@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