Как посмотреть пост всех членов команды - PullRequest
0 голосов
/ 19 февраля 2019

Я создал две таблицы с именем 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.Итак, я хочу показать все записи def и ghi в представлении abc Leaders.

До сих пор я делал это -

   $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();

Из приведенного выше кода я могу получить только список сообщений defпод abc.Как я могу получить пост Гхи тоже и так далее под ним?

1 Ответ

0 голосов
/ 20 февраля 2019

Я получил решение по этой логике кода

$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;
                }

            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...