<?php /** * Created by PhpStorm. * User: nizongfeng * Date: 2021/11/30 * Time: 11:31 */ namespace app\admin\dao; use app\admin\command\Util; use app\admin\model\AuthGroup; use think\Exception; class GroupDao { /** * 获取顶级部门 非超管 * @param $id * @return mixed */ public function getTopGroup($id){ if ($id == 1) { return $id; } try { $model = new AuthGroup(); $result = $model->where(["id" => $id])->find(); if ($result == null) { return $id; } $info = $result->toArray(); if ($info['pid']==1) { return $id; } return $this->getTopGroup($info['pid']); } catch (Exception $e) { return $id; } } /** * 获取所有子节点的ID * @param $id * @return array */ public function getSubGroup($id){ try { $idArr = [$id]; $model = new AuthGroup(); $result = $model->where(["pid" => $id])->select(); if ($result == null) { return $idArr; } $list = $result->toArray(); foreach ($list as $info) { $subIdArr = $this->getSubGroup($info['id']); $idArr = array_merge($idArr, $subIdArr); } return $idArr; } catch (Exception $e) { return $idArr; } } }