thinkphp递归删除子分类

    //删除分类
    public function deldir($ids){
        $cateId = $this->model->field(array('dir_id','pid'))->select();
        $delId = $this->get_all_child($cateId,$ids);
        $delId[] = $ids;
      //  dd($delId);
        $where = array(
            'dir_id' => array('IN',$delId)
        );
        if(!$this->model->where($where)->delete()){
            $this->error('删除失败');
        };
        $this->success('删除成功');
    }

    //递归获取所有的子分类的ID
    function get_all_child($array,$id){
        $arr = array();
        foreach($array as $v){
            if($v['pid'] == $id){
                $arr[] = $v['dir_id'];
                $arr = array_merge($arr,$this->get_all_child($array,$v['dir_id']));
            };
        };
        return $arr;
    }

  

posted @ 2022-06-07 13:52  叫我亚庆  阅读(100)  评论(0)    收藏  举报