当前栏目为:dede模板 id为16

最终效果:

Array
(
    [0] => Array
        (
            [category_id] => 16
            [pid] => 15
            [category_name] => dede模板
            [category_status] => 1
            [category_sort] => 99
            [template_name] => index
            [view_template] => view
            [is_index] => 0
            [seo_title] => 
            [seo_key] => 
            [seo_desc] => 
        )

    [1] => Array
        (
            [category_id] => 15
            [pid] => 10
            [category_name] => wordpress模板
            [category_status] => 1
            [category_sort] => 99
            [template_name] => index
            [view_template] => view
            [is_index] => 0
            [seo_title] => 
            [seo_key] => 
            [seo_desc] => 
        )

    [2] => Array
        (
            [category_id] => 10
            [pid] => 6
            [category_name] => 网站建设模板
            [category_status] => 1
            [category_sort] => 99
            [template_name] => image
            [view_template] => down_view
            [is_index] => 0
            [seo_title] => 网站建设模板_企业网站模板_Div+css模板_织梦网站建设模板_wordpress模板免费下载 - 浅笑SEO
            [seo_key] => 网站建设模板,企业网站模板,Div+css模板,织梦网站建设模板,wordpress模板免费下载
            [seo_desc] => 新疆浅笑seo提供网站建设模板、企业网站模板、Div+css模板、织梦网站建设模板、wordpress模板免费下载,如需付费服务请联系Tel::13779140165。
        )

    [3] => Array
        (
            [category_id] => 6
            [pid] => 0
            [category_name] => 网站建设
            [category_status] => 1
            [category_sort] => 99
            [template_name] => index
            [view_template] => view
            [is_index] => 1
            [seo_title] => 
            [seo_key] => 
            [seo_desc] => 
        )

)
获取函数代码:

    /**
     * 获取当前分类的上级分类数据
     * @param  array  $data      原有数组
     * @param  int    $parent_id 父级id
     * @return array            [description]
     */
    public function getParentData(array $data,int $parent_id){
        //去获取当前父分类数据
        $cache_ = self::where(['category_id'=>$parent_id,'category_status'=>1])->field('*')->find();
        //如果父分类数据为空则直接返回data
        if (empty($cache_)) {
            return $data;
        }else{
            //对象转数组
            $cache_ = json_decode(json_encode($cache_),true);
            //父级栏目合并到data内
            $cache = array_merge($data, [$cache_]);
            if ($cache_['pid'] != 0) {
                //如果当前父栏目上面还有父级栏目则循环获取
                $cache = self::getParentData($cache, $cache_['pid']);
            }
            //返回三维数组
            return $cache;
        }
    }
使用方法:

    public function test(){
        //实例化模型
        $model = new appcommonmodelCategory;
        //查询数据
        $data = $model->where('category_id',input('cid/d',10))->find();
        //对象转数组
        $data = json_decode(json_encode($data),true);
        //打印数据
        print_r($model->getParentData([$data],$data['pid']));die;
    }
有任何问题欢迎在下方浏览或者咨询我qq:644332569