【发布时间】:2019-07-13 05:01:15
【问题描述】:
我创建了一个名为 Team 和 team_user 的两个表。这是两个表的架构
Team Table
---------------------------------
| id | team_name | user_id |
---------------------------------
| 1 | Developer | 5 |
| 2 | Designer | 6 |
| 3 | Test | 7 |
| 4 | Test 2 | 8 |
---------------------------------
Team_User Table
-------------------------------------------------
| id | team_id | tl_id | user_id |
-------------------------------------------------
| 1 | 1 | 5 | 25 |
| 2 | 2 | 6 | 35 |
| 3 | 2 | 7 | 12 |
| 4 | 3 | 8 | 13 |
-------------------------------------------------
tl_id (Team Leader User ID)
user_id (User ID of user who is under Team leader)
一个团队负责人可以有多个用户。我想在 Team Leader 视图中显示他的团队成员的所有帖子。
例如,如果名为 abc 的团队负责人在他下面有一个名为 def 的成员,而另一个名为 ghi 的人在 def 之下。所以我想在 abc Leaders 视图下显示 def 和 ghi 的所有帖子。
到目前为止,我已经做到了 -
$user = auth()->user();
$teams = DB::table('team_user')->where('tl_id', $user->id)->get();
$tl = array();
foreach ($teams as $team) {
$tl[] = $team->user_id;
}
$tl[] = auth()->user()->id;
$posts = DB::table('post')->where('status',1)->Where(function ($query) use($tl) {
for ($i = 0; $i < count($tl); $i++){
$query->orwhere('user_id', '=', $tl[$i]);
}
})->get();
从上面的代码我只能得到 abc 下 def 的帖子列表。我怎样才能得到他下面的帖子 ghi 等等?
【问题讨论】:
-
想要的结果真的很有帮助。
-
你的意思是你需要一个团队领导下的所有人,包括嵌套的团队成员(比如一个团队成员可能领导另一组成员等等..)?
-
是的@MihirBhende。另一个人可以成为另一个人的领导者
-
什么是
tl_id?是队长ID吗? -
你能显示一些预期的输出吗?这里的主键和外键是什么?
标签: php mysql sql laravel laravel-5