博客列表 >php 获取分类下所有的子集

php 获取分类下所有的子集

朝游东海
朝游东海原创
2019年02月11日 17:37:125142浏览

数据表结构

QQ截图20190211171543.png

   //递归 - 获取当前分类下的所有子集id

public function test(){
      $child =  $this->getAllNextId(4);
      p($child);exit;

}


实例

public function getAllNextId($id,$data=[]){
    $pids = DB::name('Category')->where('pid',$id)->column('id');
    if(count($pids)>0){
        foreach($pids as $v){
            $data[] = $v;
            $data = $this->getAllNextId($v,$data); //注意写$data 返回给上级
        }
    }
    if(count($data)>0){
            return $data;
        }else{
            return false;
        }
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

当查询id=4时;

得出结果

Array
(
   [0] => 5
   [1] => 6
   [2] => 7
   [3] => 8
   [4] => 9
)


当查询id=10是

Array
(
   [0] => 11
   [1] => 12
   [2] => 13
   [3] => 14
   [4] => 15
   [5] => 16
   [6] => 17
)


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议