数据使用pid记录上级id,可使用递归无限极往下查询
代码如下:
/**
* @description: 获取树状种类数据
* @return {*}
*/
public function getBreeCateData(){
$cate = CategoryModel::order('pid asc')->column('id,pid,no,name');
$data = $this->handleBreeCateData($cate);
return $data;
}
/**
* @description: 递归处理树状图种类数据
* @return {*}
*/
protected function handleBreeCateData($cate,$pid=0){
$res = [];
//处理上下级关系
foreach($cate as $v){
if($v['pid'] == $pid){
$data = $v;
$data['child'] = $this->handleBreeCateData($cate,$v['id']);
$res[] = $data;
}
}
return $res;
}