order('sort desc')->select(); return $this->sort($authRuleres); } public function sort($data,$pid=0){ static $arr=array(); foreach ($data as $k =>$v) { if($v['pid']==$pid){ $v['dataid']=$this->getparentid($v['id']); $arr[]=$v; $this->sort($data,$v['id']); } } return $arr; } public function getchilrenid($authRuleId){ $AuthRuleRes=$this->select(); return $this->_getchilrenid($AuthRuleRes,$authRuleId); } public function _getchilrenid($AuthRuleRes,$authRuleId){ static $arr=array(); foreach ($AuthRuleRes as $k =>$v) { if($v['pid'] == $authRuleId){ $arr[]=$v['id']; $this->_getchilrenid($AuthRuleRes,$v['id']); } } return $arr; } public function getparentid($authRuleId){ $AuthRuleRes=$this->select(); return $this->_getparentid($AuthRuleRes,$authRuleId,True); } public function _getparentid($AuthRuleRes,$authRuleId,$clear=False){ static $arr=array(); if($clear){ $arr=array(); } foreach ($AuthRuleRes as $k =>$v) { if($v['id'] == $authRuleId){ $arr[]=$v['id']; $this->_getparentid($AuthRuleRes,$v['pid'],False); } } asort($arr); $arrStr=implode('-',$arr); return $arrStr; } } ?>