Example #1
0
 /**
  * Filter grid data result
  * 
  * @param DB $query
  * @return DB
  */
 protected function filters($querys)
 {
     try {
         $querys->where(function ($query) {
             $this->filtersMapping();
             if (is_array(Input::get('searchCol'))) {
                 foreach (Input::get('searchCol') as $key => $value) {
                     if (Input::get('searchCol')[$key]) {
                         switch (Input::get('searchType')[$key]) {
                             case 1:
                                 $query = $query->orwhere(DB::raw(Input::get('searchCol')[$key]), Input::get('searchText')[$key]);
                                 break;
                             case 2:
                                 $query = $query->orwhere(DB::raw(Input::get('searchCol')[$key]), 'LIKE', '%' . Input::get('searchText')[$key] . '%');
                                 break;
                             case 3:
                                 $query = $query->orwhere(DB::raw(Input::get('searchCol')[$key]), 'LIKE', Input::get('searchText')[$key] . '%');
                                 break;
                             case 4:
                                 $query = $query->whereNotIn(DB::raw(Input::get('searchCol')[$key]), Input::get('searchText')[$key]);
                                 break;
                             case 5:
                                 $query = $query->orwhere(DB::raw(Input::get('searchCol')[$key]), 'LIKE', Input::get('searchText')[$key]);
                                 break;
                         }
                     }
                 }
             } else {
                 if (Input::get('searchCol')) {
                     switch (Input::get('searchType')) {
                         case 1:
                             $query = $query->orwhere(DB::raw(Input::get('searchCol')), Input::get('searchText'));
                             break;
                         case 2:
                             $query = $query->orwhere(DB::raw(Input::get('searchCol')), 'LIKE', '%' . Input::get('searchText') . '%');
                             break;
                         case 3:
                             $query = $query->orwhere(DB::raw(Input::get('searchCol')), 'LIKE', Input::get('searchText') . '%');
                             break;
                         case 4:
                             $query = $query->whereNotIn(DB::raw(Input::get('searchCol')), Input::get('searchText'));
                             break;
                         case 5:
                             $query = $query->orwhere(DB::raw(Input::get('searchCol')), 'LIKE', Input::get('searchText'));
                             break;
                     }
                 }
             }
         });
         return $querys;
     } catch (Exception $e) {
         echo Response::exception($e);
         return $querys;
     }
 }