首先接收到传递过来的参数,然后进行条件判断,如果有值就追加进数组,没有值就跳过,执行下面的代码,最后直接查询即可。
public function index(){ $start = input('start'); // 获取开始时间 $end = input('end'); // 获取结束时间 $inquiry = input('inquiry'); // 方式 $status = input('status'); // 状态 $where = []; // 定义一个数组 /* * 判断是否有值 有的话就追加进数组 * */ if($start != '' || $start != null) array_push($where,['start', '>=',strtotime($start)]); if($end != '' || $end != null) array_push($where,['end','<=',strtotime($end)]); if($inquiry != '' || $inquiry != null) array_push($where,['inquiry','=',$inquiry]); if($status != '' || $status != null) array_push($where,['status','=',$status]); // 通过条件查询 $list = Db::name('table')->where($where)->paginate(15); // 把分页数据赋值给模板变量list $this->assign('list', $list); // 渲染模板输出 return $this->fetch(); }