您现在的位置是:网站首页>PHP技术PHP技术

递归获取所有子分类ID并将ID拼接成字符串

草谷2019-06-17PHP技术

简介这个方法应该很常用,记录下来。

/**
 * 递归获取一个商品类别下的所有商品类别id,并返回逗号拼接的字符串
 * @param $cid
 * @param string $str
 * @return string
 */
public function get_all_child_cate($cid,$str=''){
    $child=(new Cate())->where('parentid','=',$cid)->column('id');
    if($child){
        $str.=','.implode(',',$child);
        foreach($child as $key=>$val){
            $str=$this->get_all_child_cate($val,$str);
        }
    }
    return trim($str,',');
}


下面这个是改进,以多维数组的方式,获取所有下级分类

 /**
     * 获取某个部门下所有子部门的id
     */
    public function get_all_child_cate($dept_id,$list=[]){
        $child_list=(new Dept())->where('pid','=',$dept_id)->select()->toArray();
        if($child_list){
            foreach($child_list as $key=>$val){
                $child_list[$key]['_child']=$this->get_all_child_cate($val['id'],$list);
            }
            return $child_list;
        }else{
            return $list;
        }
    }


很赞哦! (3)

文章评论