function get_tree( &$tree = array() ){
if (empty($tree)) {
$tree = M("category")->where("pid = 0")->select();
}
//循环父级分类,查找子分类
foreach ($tree as $key => $value) {
$temp = M("category")->where("pid = ".$value['id'])->select();//查找子分类
if ($temp) {
$tree[$key]['_child'] = $temp;
$this->get_tree($tree[$key]['_child']);
}
}
return $tree;
}
}
说明:
此方法只适合分类数据量小的,因为是一次性读取数据库到内存,数据量大耗内存。
这里的M() 方法是ThinkPHP的字母方法,非TP可以自己组织sql语句查询子类。