public function selectRosterList($id)
{
$data = db('department')->where('pid',$id)->select();
$rosters = []; foreach ($data as $key=>$value){
$roster = db('roster')->where('did',$value['id'])->select();
$rosters = array_merge($rosters, $roster); if ($value['pid'] != 0){ $this->selectRosterList($value['id']);
}
} return $rosters;
}为什么我这样写只能得到张三和李四的数据,却得不到小明的数据?
1 回答
手掌心
TA贡献1942条经验 获得超3个赞
思路:
1、先递归出指定分类的所有子分类
2、根据子分类的id查询
$rosters = []; 每次递归,你这个都会初始化
不要把递归部门和查询人员放在一起,递归只用来查找这个部门下的所有子部门,递归出来一个部门数组,然后再查询部门ID在这些数组的人员
- 1 回答
- 0 关注
- 607 浏览
添加回答
举报
0/150
提交
取消