当前栏目为: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


发表评论 取消回复