Level 5
Where exactly you create method getFilter() in model?
I created a filter with pagination inside of laravel, but when I use it in a query it shows me an error.
What's wrong?
"message": "Call to undefined method Illuminate\\Database\\Eloquent\\Builder::getFilter()",
public function getFilter($filter = null, $field = null, $paginate = null){
if($filter && $field){
if($paginate){// se houver paginação
return $this->where($filter, "LIKE", "%{$field}%")->paginate($paginate);
}
// caso a paginação venha vazia
return $this->where($filter, "LIKE", "%{$field}%")->get();
}
if($paginate){ // Verifica novamente a paginação
return $this->paginate($paginate);
}
return $this->get();
}
method's
public function index(){
$cities = $this->city->with('states')->paginate(15); // getFilter(request()->input('field'), request()->input('filter'), request()->input('paginate'));
if (!$cities){
return $this->response->errorNotFound('cidade não encontrada');
}
//return response()->json($cities, 200);
return $this->response->withCollection($cities, new CityTransformer);
}
public function getByStateId($stateId){
$result = $this->city->where('state_id', $stateId)->paginate(15); // getFilter(request()->input('field'), request()->input('filter'), request()->input('paginate'));
if (!$result){
return $this->response->errorNotFound('cidade não encontrada');
}
//return response()->json($result, 200);
return $this->response->withCollection($result, new CityTransformer);
}
okey try to write $this->getFilter(request()->input('field'), request()->input('filter'), request()->input('paginate'))
Please or to participate in this conversation.