查找下级所有数据

admin2年前Laravel766

public function bottom($mid = 3)
{
   $members = DB::select('select id,parent_id,`level` from member where status= 1  and parent_id >= 0');
   $Teams = array();//最终结果
   $mids = array($mid);//第一次执行时候的用户id
   do {
       $othermids = array();
       $state = false;
       foreach ($mids as $valueone) {
           foreach ($members as $key => $valuetwo) {
               if ($valuetwo->parent_id == $valueone) {
                   $Teams[] = $valuetwo->id;//找到我的下级立即添加到最终结果中
                   $othermids[] = $valuetwo->id;//将我的下级id保存起来用来下轮循环他的下级
                   $state = true;
               }
           }
       }
       $mids = $othermids;//foreach中找到的我的下级集合,用来下次循环
   } while ($state == true);
   array_push($Teams, $mid);
   return $Teams;
}

相关文章

解密微信绑定的手机号

public function mobile() { $code = request()->input('code'); if (!$code) { return $this-&...

两个经纬度之间的距离

    public function haversineGreatCircleDistance($latitude1, $longitude1, $latitude2, $lon...

生成二维码

public function qrcode($uid){    require_once base_path() . '/public/phpqrcode/phpqrco...

php 优化

使用 gc_collect_cycles() 强制进行垃圾回收 PHP 的垃圾回收机制会自动释放不再使用的变量所占用的内存。然而,在某些情况下,尤其是在长时间运行的脚本(如 CLI...

过滤违禁词

/** * 内容验证 */public function check($content){    $count = 0; //违规词的个数    $list =...

设置项目编号

$max = Db::table('member')->max('id') ?? 0; if ($max < 100000) { $cd = $this->create...