thinkphp视图查询

折腾了很纠结...

$map = array();

        //获取公司cid
        $map['Staff_salary.cid'] = $params['cid'];

        $status = trim($request->post('status'));
        if(!empty($status)){
            $map['Staff_salary.status'] = $status;
        }

        $deptid = trim($request->post('deptid')); //部门
        if (!empty($deptid)) {
            $map['Staff_salary.deptid'] = $deptid;
        }

        $postid = trim($request->post('postid')); //岗位
        if (!empty($postid)) {
            $map['Staff_salary.postid'] = $postid;
        }

        //入职的区间查询 就是说在此期间的日期入职就行
        $startime = trim($request->post('startime'));
        $endtime = trim($request->post('endtime'));
        if ($startime && $endtime) {
            $map['Staff_salary.start_time'] = ['between', [$startime, $endtime]];
        }elseif($startime){
            $map['Staff_salary.start_time'] = ['egt', $startime];
        }elseif($endtime){
            $map['Staff_salary.start_time'] = ['elt', $endtime];
        }

        $likedata = trim($request->post('search_val')); //员工姓名,工号,手机号
        if (!empty($likedata)) {
            //$map['Staff.zname|Staff.staff_num|Staff.mobile|Staff.zpinyin|Staff.zpy'] = ['like', '%'.$likedata.'%']; //封装模糊查询 赋值到数组
            $map['Staff.zname|Staff.staff_num|Staff.mobile|Staff.zpinyin|Staff.zpy'] = ['like', '%'.$likedata.'%'];
        }   

        $said = trim($request->post('said'));
        if(!empty($said)){
            $map['said'] = $said;
        }

         $rel = db::view('Staff_salary','*')
            ->view('Company_dept','deptid,deptname','Company_dept.deptid = Staff_salary.deptid','LEFT')
            ->view('Company_postion','postid,postname','Company_postion.postid = Staff_salary.postid','LEFT')
            ->view('Staff','sid,zname,staff_num,zpinyin,zpy','Staff.sid =Staff_salary.sid','LEFT')
            ->where($map)
            ->paginate(10, false, ['type' => 'Ajaxbootstrap']);
 

  默认的视图查询 用的inner方式 所以不需要查询条件不需要指定条件,但是用LEFT 和 RIGHT 就需要了....

猜你喜欢

转载自www.cnblogs.com/cbywan/p/10140094.html
今日推荐