common中写数组转树状数组的方法
function get_tree_list($list){
//将每条数据中的id值作为其下标
$temp = [];//定义一个空数组接值
foreach($list as $v){
$v['son'] = [];//子数组
$temp[$v['tid']] = $v;//添加子集在数组中
}
//获取分类树
foreach($temp as $k=>$v){
$temp[$v['pid']]['son'][] = &$temp[$v['tid']];//把子数组添加到子集中
}
return isset($temp[0]['son']) ? $temp[0]['son'] : [];
}
控制器获取分类,转换成数组后再通过方法转成树状数组
public function home(){
$data=Type::select();//接受分类数据
$list=(new Collection($data))->toArray();//数据转成普通数组
$list=get_tree_list($list);//数组转成树状数组
return view('home',['list'=>$list]);//返回
}