/** * 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; } }