Laravel-多條件檢索方案
阿新 • • 發佈:2021-07-07
控制器
public function index(Request $request) { $status = $request->input('status'); $title = $request->input('title'); $cate_id = $request->input('cate_id'); $where = []; if(!empty($status)){ $where['status'] = $status; }if(!empty($cate_id)){ $where['cate_id'] = $cate_id; } if(!empty($title)){ $where['title'] = $title; } $data = ArticleModel::page($where); return view('article.index',compact('data')); }
模型層
public static function page($where){$model = new self(); if(isset($where['title'])){ $model = $model->where('title','like','%'.$where['title'].'%'); } if(isset($where['cate_id'])){ $model = $model->where('cate_id',$where['cate_id']);; } if(isset($where['status'])){$model = $model->where('status',$where['status']);; } $data = $model->orderBy('id','desc') ->paginate(self::SIZE); return $data; //onlyTrashed 只要被軟刪除的資料 //withTrashed 包含回收站的資料 //不包括回收站的內容 }