一对一关系,与那里的用户一起显示所有帖子

时间:2019-10-17 09:51:18

标签: laravel

//发布表 user()

`belongsTo(User::class);`

//用户表 posts()

hasMany(post::class);

///我想在数据库中显示所有可用的帖子,以及与该帖子关联的用户。

3 个答案:

答案 0 :(得分:1)

在关系中使用外键和主键来获取结果。

发帖中

 public function user()
 {
  return $this->belongsTo('App\User','users_id','users_id') //first parameter-foreign key,second parameter-local key
 }

在用户中

 public function posts()
 {
  return $this->hasMany('App\Post','users_id','users_id')
 }

现在获取所有使用的帖子

 $posts = Post::get();
 return view('your-view')->with('posts',$posts);

您可以使用

在视图中检索用户信息
 @foreach($posts as $post)  
   $user = $post->user->name;
 @endforeach

希望有帮助。

答案 1 :(得分:0)

猜测您的关系如下:

用户:

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

帖子:

 public function user()
 {
  return $this->belongsTo('App\User')
 }

您可以在控制器中获取所有帖子,如下所示:

$posts = Post::get();
return view('your view', $posts);

在您的刀片中,要显示帖子及其用户,请执行以下操作:

@foreach($posts as $post)
   $post->user->name
@endforeach

答案 2 :(得分:0)

$posts = Post::with('user')->get();