PHP 回调函数

当你还不能写出自己满意的程序时,你就不要去睡觉。------------------------自我勉励

     /**
     * ajax分页获取用户信息
     * @return [type] [description]
     */
    public function onGetUsers()
    {
        $page = post('page',1);
        // $courseType= 0;//2;// post('type','');
        // $course = 0;// '1_44';//post('course');
        // $associate = 2;// post('associate');
        // $keyword='tes';post('keyword');
        //
        $page = post('page',1);
        $courseType= post('type','');
        $course = post('course');
        $associate = post('associate');
        $keyword= post('keyword');


        $query = (new User())->newQuery();

        //课程类型筛选
        if($courseType != 0){
            $query->whereIn('id', function ($query) use ($courseType){
                  // 用户的id
                  $query->select('user_id')
                  ->from('dapeng_user_period')
                  ->whereIn('course_id', function ($query) use ($courseType){
                       //课程的id
                       $query->select('id')
                        ->from('dapeng_courses')
                        ->where('type_id',$courseType);
                  });
            });
        }

        //筛选阶段、课程名称
        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($associate != 0){
            if($associate == 1){//已关联
                $query->whereIn('id', function ($query){
                    $query->select('user_id')
                    ->from('dapeng_user_period');
                });
            }

            if($associate == 2){ //未关联
                $query->whereNotIn('id', function ($query){
                    $query->select('user_id')
                    ->from('dapeng_user_period');
                });
            }       
        }

        //模糊搜索
        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()];
    }

     //使用回调函数传参形式,进行编写

  //获取初始化课程进度数据
    public function getCourseProduces(){
        $page = post('page',1);
        $users = User::whereIn('id', function ($query) {
                  $query->select('user_id')
                  ->from('dapeng_user_period')
                  ->whereIn('course_id', function ($query){
                       //课程的id
                       $query->select('id')
                        ->from('dapeng_courses')
                        ->where('type_id',2);
                  });
            })
            ->with('userperiod.period')
            ->with('userperiod.course.level')
            ->orderBy('id', 'desc')
            ->paginate(self::PER_PAGE_NUM, $page);
        return $users;


    }



 /**
     * 获取个人进度详情信息(Vip)
     *
     */
    public function getVipCourses(){

        $page = post('page',1);
        $userId = $this->formatParam();
        if(!empty($userId)){
            $courses = WatchRecordModel::where('user_id',$userId)->whereIn('lesson_id', function ($query) {       
                  $query->select('id')
                        ->from('dapeng_course_lessons')
                        ->whereIn('course_id', function ($query){
                       //课程的id
                       $query->select('id')
                        ->from('dapeng_courses')
                        ->where('type_id',2)
                        ->where('status',2);
                  });
                })
                        ->with('user')
                        ->with('lesson.course')
                        ->with('lesson.unit')
                        ->get()
                        ->toArray();   

            return $courses;
        }   
        return  '0';
    }
//前端显示与php结合
<link rel="stylesheet"  type="text/css" href='/plugins/dapeng/assets/css/watch_record.css'>
<?php $courseProduces =$this->getCourseProduces();
      $users = $this->getProduces();
      $vipCourses = $this->getVipCourses();
      $publicCourses = $this->getPublicCourses();

?>
<div class="header-tips">
    <div class="tips-left">
        个人进度详情
    </div>
</div>
<div class="control-list">
    <?= $this->makePartial('list_schdule_content',['users' => $users]) ?>
</div>
<div class="control-tabs content-tabs" data-control="tab">
    <?= $this->makePartial('list_course_content',['vipCourses' => $vipCourses,'publicCourses' => $publicCourses]) ?>
</div>
<script type="text/javascript">

</script>
<script src="/plugins/dapeng/assets/js/user/watchRecord.js"> 
</script>






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值