在Org/Util下建一个Tool.class.php文件,内容如下:
namespace Org\Util;
class Tool {
/**
* @param $obj 在数据库中提取的数据源,这里不是obj,而是array的数据
* @param string $data 父级ID
* @return 递归后数组
*/
static public function getTree($obj,$data='ROOT'){
foreach ($obj as $key=>$value){
if($value['parent']==$data){
$obj[$key]['children'] = Tool::getTree($obj,$obj[$key]['id']);
if($obj[$key]['children']==''){
unset($obj[$key]['children']);
$obj[$key]['leaf']=true;
}
$arr[] = $obj[$key];
}
}
return $arr;
}
}
在控制器中调用代码如下:
$obj = $model->field()->where($map)->select();
$json = json_encode(Tool::getTree($obj));
echo $json;
因为要给ExtJs的TreeStore使用,因此输出是JSON。
最佳答案
