通过循环获取电子邮件pic_for

时间:2019-03-14 07:30:30

标签: laravel loops

我有一个像这样的表结构

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)是该用户(用户ID 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 :(得分:0)

尝试一下:

$query = DB::table('users')->get();