1. 程式人生 > 其它 >Laravel-多條件檢索方案

Laravel-多條件檢索方案

控制器

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 包含回收站的資料 //不包括回收站的內容 }