如何查看所有团队成员的帖子

Posted

技术标签:

【中文标题】如何查看所有团队成员的帖子【英文标题】:How to see post of all Team Members 【发布时间】: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吗? 你能显示一些预期的输出吗?这里的主键和外键是什么? 【参考方案1】:

我已经通过这个代码逻辑得到了解决方案

$user = auth()->user();
        $teams =  DB::table('team_user')->where('tl_id', $user->id)->get();
        $tl = array();
        foreach ($teams as $team) 
            $tl[] = (int)$team->user_id;
            $searches = DB::table('team_user')->where('tl_id',$team->user_id)->get();
            foreach($searches as $search)
                $tl[] = (int)$search->user_id;
                $searched = DB::table('team_user')->where('tl_id',$search->user_id)->get();
                foreach($searched as $searchd)
                    $tl[] = (int)$searchd->user_id;
                

            
        

【讨论】:

以上是关于如何查看所有团队成员的帖子的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Python 中查看 Tumblr 帖子的所有注释?

与我的团队成员共享本地主机

如何在某些帖子的评论中选择所有用户 ID?

linux如何查看所有的用户和组信息?

如何查询linux系统中所有用户的用户名和密码

如何从Wordpress管理员替换帖子和页面的所有外部/预览