优雅的获取全部下级ID的集合
/** * 获取用户下属ID集合 * @param $uid int * @param $ids string * @author jack * @throws string * @return string */ public static function getUnderlingUIds($uid, $ids='') { $back = Db::name('member') ->field('id,pid') ->where('pai_num', '>', 0) ->where('pid',$uid) ->select() ->toArray(); if (!empty($back) && is_array($back)) { foreach ($back as $v) { //防止当前人的ID重复去查询,形成恶性循环 if ($v['id'] == $uid) { continue; } $back2 = Db::name('member') ->where('pai_num', '>', 0) ->where('pid',$v['id']) ->count('id'); if ($back2 > 0) { $ids = self::getUnderlingUIds($v['id'],$ids); } else { $ids .= ','.$v['id']; } } } $ids = $uid.','.$ids.','; $ids = str_replace(',,', ",", $ids); $ids = trim($ids, ','); return $ids; }
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。