protected function _departmentList() { if (!$this->departmentList) { $departmentList = DepartmentModel::getList(); $tree = array(); mkTree($departmentList, $tree); $this->departmentList = $tree; } return $this->departmentList; }
public function delete() { $id = request('id'); $catalogList = CatalogModel::getList(); $subs = array(); mkTree($catalogList, $subs, $id); $ids = array_keys($subs); if (CatalogModel::deleteBatch($ids)) { $this->success($this->reffer()); } else { $this->error(); } }
function mkTree($data, &$tree, $pid = 0, $level = 0) { if ($data) { $level++; foreach ($data as $item) { if ($item['id'] == $pid) { if (!isset($tree[$pid])) { $tree[$pid] = $item; } } if ($item['pid'] == $pid) { $item['level'] = $level; $tree[$item['id']] = $item; mkTree($data, $tree, $item['id'], $level); } } } }