繁体   English   中英

显示所有用户的所有帖子

[英]Display all Posts from all Users

例如我们有两个表

用户和帖子

该用户有多个帖子,但该帖子属于一个用户。

我想在一页上显示用户的所有帖子。

例如: 帖子表

那么,如何在一个页面上显示所有用户的多个帖子?

第一:让所有用户加入您的控制器

$users = User::All();

那么您可以将此$ users传递到您的视图并遍历所有$ users

foreach($users as $user){
   echo $user_email = $user->email;
   $user_posts = $user->post; //multiple posts, but need to establish relation
   echo "posts for this user";
   foreach($user_posts as $p){
       echo $p->title;
   }
}

注意:对于大数据,它可能会变慢并且不是很好的做法。

用户表的用户模型 :应该与post具有onetoMany关系

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

帖子表的帖子模型

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

您需要在发帖表中放入user_id字段。
另请参阅有关延迟加载急切加载的信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM