public function getAreaTree($code) { $where = ''; if ($code){ $where = ['b.code' => $code]; } $info = Db::table('__AREA__ a') ->join('__AREA__ b','a.p_code = b.code','left') ->field('a.id,a.code as v,a.name as n,a.p_code,b.name as p_name')->where($where)->select(); if(!empty($info)){ $info = array_column($info,null,'v'); $info = $this->generateTreeback($info); } return $info; } function generateTreeback($items,$field = 'v', $pfield = 'p_code', $child = 'c') { $tree = []; foreach($items as $item){ if(isset($items[$item[$pfield]])){ $items[$item[$pfield]][$child][] = &$items[$item[$field]]; }else{ $tree[] = &$items[$item[$field]]; } } return $tree; }
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交