Php 在sql查询中获取递归数据

Php 在sql查询中获取递归数据,php,mysql,laravel,laravel-5,laravel-5.3,Php,Mysql,Laravel,Laravel 5,Laravel 5.3,我有一个表user,它有user_name和manager name。我想获取拥有manager='test'的用户的用户名。我想获取拥有ramya作为经理和报告对象的报告对象的用户 users table SNO user_name manager 1 vani Ramya 2 ramya geetha 3 priya ramya 4 mani ramya 5 latha vani 6. h

我有一个表user,它有user_name和manager name。我想获取拥有manager='test'的用户的用户名。我想获取拥有ramya作为经理和报告对象的报告对象的用户

users table 
SNO user_name   manager
1    vani        Ramya
2    ramya       geetha
3    priya       ramya
4    mani        ramya
5    latha       vani
6.   hema        Anitha 

我想知道ramya和ramya的记者vani,priya和mani的名字,还有latha,他让vani担任经理,ramya担任经理。我想得到ramya、vani、priya、mani和latha,您可以使用以下查询:

select a.user_name from 
users a left join users b
on a.manager=b.user_name
where a.user_name='Ramya' or a.manager='ramya' or b.manager='Ramya'
输出:

| user_name |
|-----------|
|     latha |
|      vani |
|     priya |
|      mani |
|     ramya |
SQL Fiddle:

注:我以前从未使用过Laravel,但在阅读了一些文档后,我认为可以用这种方式在那里编写查询

$users = DB::table('users as a')
            ->select('a.user_name')
            ->leftJoin('users as b', 'a.manager', '=', 'b.user_name')
            ->where('a.user_name','Ramya')
            ->orwhere('a.manager','Ramya')
            ->orwhere('b.manager','Ramya')
            ->get();