Получить электронную почту pic_for с циклом - PullRequest
0 голосов
/ 14 марта 2019

У меня есть такая структура таблицы

id |       name     |         email            | pic_for
1        Michael       michael.john@gmail.com            
2       John Doe       john.doe@gmail.com            1
3      Lorem Ipsum       lorem@ipsum.com             2
4      Dolor Amet        dolor@amet.com              1
5       En Ciel            en@ciel.com                

Итак, структура выглядит как

1
|- 2 , 4
   |-3

5

В приведенном выше случае мне нужно проверить, есть ли у другого пользователя (пользователь 2)был ответственным лицом за этого человека (идентификатор пользователя 1), а затем снова проверьте, есть ли у пользователя 2 другое ответственное лицо или нет.

Я пробовал код, и в результате я получил

array:6 [▼
0 => 2
1 => 3
2 => 5
3 => 4
4 => 3
5 => 5
]

Мне нужно получить результат, подобный

array:4 [▼
0 => 2
1 => 3
2 => 5
3 => 4
]

Вот код

$query = DB::table('users')->where('pic_for',$id)->get();
//dd($query);
        foreach ($query as $q) 
        {

            $dum[]=$q->id;
            //dd($dum);
            $query2 = DB::table('users')->where('pic_for',$dum)->get();
            //dd($query);
            foreach ($query2 as $q2)
            {
                $dum[]=$q2->id; 
            }

        }
    dd($dum);

Есть что-то, что я пропустил?

Спасибо

1 Ответ

0 голосов
/ 14 марта 2019

Попробуйте это:

$query = DB::table('users')->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...