无限极分类怎么获取某个分类下的所有文章?

分类表:


iddepartmentpidlevel
1行政部141
2市场部141
3财务部141
4外贸部141
5总经办141
6投标部141
7工程部141
8研发部141
9销售部141
10内销部141
11华南区102
12华北区102
13华东区102
14广州00
15广东00
16样板部151
数据表





idnamephoneweixinqqemaildid(关联的分类ID)
1张三10086test1000010000@qq.com1
2李四13800138000test1123456123456@qq.com2
3小明13888888888test2398765498654@qq.com11

如$id = 14public 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;
    }

为什么我这样写只能得到张三和李四的数据,却得不到小明的数据?


MM们
浏览 709回答 2
2回答

狐的传说

你每次执行的时候 id都会被赋值成14

慕慕森

思路:1、先递归出指定分类的所有子分类2、根据子分类的id查询$rosters = []; 每次递归,你这个都会初始化不要把递归部门和查询人员放在一起,递归只用来查找这个部门下的所有子部门,递归出来一个部门数组,然后再查询部门ID在这些数组的人员
打开App,查看更多内容
随时随地看视频慕课网APP