classify = new MineList(); $this->cacheTitle = 'MineManageList'; } //获取矿井列表 public static function getMineList() { $result['status'] = true; $result['msg'] = ApiEnum::RETURN_SUCCESS; $mine_list = MineList::orderBy('sort', 'desc')->orderBy('id', 'asc')->where( [ 'parent_id' => 0 ] )->select( [ 'id as mine_id', 'title as name', ] )->get()->toArray(); $result['data'] = $mine_list; return $result; } //获取矿区列表 public static function getAreaList($mine_id = '') { $result['status'] = true; $result['msg'] = ApiEnum::RETURN_SUCCESS; $mine_list = MineList::orderBy('sort', 'desc')->orderBy('id', 'asc')->select( [ 'id as mine_id', 'title as name', 'parent_id', ] )->get()->toArray(); if ($mine_list) { $mine_list = self::sortMineList($mine_list); } if ($mine_id) { foreach ($mine_list as $key => $val) { if ($val['mine_id'] != $mine_id) { unset($mine_list[$key]); } } } $result['data'] = $mine_list; return $result; } //递归排序矿区列表 public static function sortMineList($mine_list, $pid = '0') { $arr = []; if (empty($mine_list)) { return ''; } $num = 0; foreach ($mine_list as $key => $value) { if ($value['parent_id'] == $pid) { $arr[$num] = $value; $arr[$num]['children'] = self::sortMineList($mine_list, $value['mine_id']); unset($arr[$num]['parent_id']); if (count($arr[$num]['children']) == 0) { unset($arr[$num]['children']); } $num++; } } return $arr; } }