ErrorException (E_NOTICE) Trying to get property of non-object
[Finalizado Pelo Aluno]
Estou tendo dificuldades de preservar o filtro na paginação.
Da um erro no meu model Brand, pode me ajudar? Segue o log:
public function search($request, $totalPage = 10)
{
$keySearch = $request->key_search;
return $this->where('name', 'LIKE', "%{$keySearch}%")->paginate($totalPage);
}
Olá, Deyvson!
Tudo bem?
Aparentemente o seu método search() está correto.
No método do controller, você está recuperando os dados da pesquisa e enviando para a view?
public function search(Request $request)
{
$dataForm = $request->except('_token');
$brands = $this->brand->search($request->key_search, $this->totalPage);
$title = "Brands, filtros para: {$request->key_search}";
return view('panel.brands.index', compact('title', 'brands', 'dataForm'));
}
Na view precisa passar a variávei $dataForm para preservar a páginação:
@if(isset($dataForm))
{!! $brands->appends($dataForm)->links() !!}
@else
{!! $brands->links() !!}
@endif
Deixa o método search() no Model Brand receber logo o item de pesquisa:
public function search($keySearch, $totalPage = 10)
{
return $this
->where('name', 'LIKE', "%{$keySearch}%")
->paginate($totalPage);
}
Ainda persiste o erro no model Brand na linha 13 "$keySearch = $request->key_search;
Nas minhas variaveis de ambiente do erro "ErrorException (E_NOTICE) Trying to get property of non-object" o GET Data está vazio, e o POST Data está recebendo normal a key_search e o _token.
É normal o GET Data vir vazio? Ou não está pegando o que eu preciso?
Environment & details:
GET Data empty
POST Data
_token
"b4ZxJoPA4XK9WZuglwOt32uq3xmo3wCTr0vgHrDC"
key_search
"Novo"
Prestando mais atenção a aula, vi que no model Brand, você nos ofereceu a opção de enxugar o código, retirando esta lindo do método "search()$keySearch = $request->key_search" e passando a propria variável $keySearch como parâmetro do método. Eu estava insistindo em mante-la e não passei a variável como parâmetro. Resolvido, pesquisa e paginação fluindo. Obg pelo retorno!
public function search($keySearch, $totalPage = 10)
{
return $this
->where('name', 'LIKE', "%{$keySearch}%")
->paginate($totalPage);
}
Olá, Deyvson!
Que bom que conseguiu identificar o erro, parabéns!
Qualquer coisa que precisar de mim, saiba que pode contar.
Abraços []'s
Att,
Carlos Ferreira!
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!