Php 在sql查询中获取递归数据
我有一个表user,它有user_name和manager name。我想获取拥有manager='test'的用户的用户名。我想获取拥有ramya作为经理和报告对象的报告对象的用户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
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();