PHP 闭包函数应用

PHP 闭包函数应用




//通过ajax请求,后台接收数据
 $userType= post('type',0);
        $course = post('course');
        $period = post('period');
        $keyword= post('keyword');
//使用闭包函数来传递参数、查询数据
 $query = (new User())->newQuery();

 //筛选阶段、课程名称
        if($course != 0){
            //课程名称
            if(strstr($course,'_')){
                $courseId= explode('_', $course)[1];

                $query->whereIn('id', function ($query) use ($courseId){
                  $query->select('user_id')
                        ->from('dapeng_user_period')
                        ->where('course_id', $courseId);
                });
            }
            else{ //阶段
                $levelId = $course;
                $query->whereIn('id', function ($query) use ($levelId){

                    $query->select('user_id')
                        ->from('dapeng_user_period')
                        ->whereIn('course_id', function ($query) use ($levelId){

                            $query->select('id')
                                ->from('dapeng_courses')
                                ->where('level_id',$levelId);
                    });
                });

            }
        }


     //模糊搜索
        if($keyword != ''){
            $query->Where(function ($query) use($keyword){
                $query->where('name', 'like', '%'.$keyword.'%');
                $query->OrWhere('qq', 'like', '%'.$keyword.'%');
                $query->OrWhere('phone', 'like', '%'.$keyword.'%');
            });   
        }

        $users = $query->orderBy('id', 'desc')
                       ->paginate(self::PER_PAGE_NUM, $page);

        return ['users'=> $this->makePartial('list_user',['users' => $users,'ischecked' => false]),
               'total' => $users->total()];
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值