[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)

ErrorException (E_NOTICE) Trying to get property of non-object

[Finalizado Pelo Aluno]

Deyvson
Criador Deyvson 05/03/2018

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);

    }

Manager Carlos Ferreira 05/03/2018

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);
}

Carlos Ferreira
Criador Deyvson 05/03/2018

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"

Deyvson
Criador Deyvson 05/03/2018

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);

 

    }

Deyvson
Manager Carlos Ferreira 05/03/2018

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!

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!