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

Filtrar pelo nome da Marca

[Finalizado Pelo Aluno]

Marcelo Vaz
Criador Marcelo Vaz 20/03/2018

Como fasso para filtrar a pesquisar pelo nome da marca?

Pelo brand_id já está funcionando, mas não sei como implementar pelo nome,

Segue a função do Plane.php

public function search($keySearch, $totalPage)

{

return $this

->where('id', $keySearch)

->orWhere('qty_passengers', $keySearch)

->orWhere('class', $keySearch)

->orWhere('brand_id', 'LIKE', "%{$keySearch}%")

->paginate($totalPage);

}

Manager Carlos Ferreira 20/03/2018

Olá, Marcelo!
Tudo bem?

Neste caso, a forma mais simples é combinar essa query com um JOIN, relacionando com a marca também.

Existem outras formas, mas, essa é uma das mais fáceis de aplicar:
public function search($keySearch, $totalPage)
{
    return $this->where('planes.id', $keySearch)
                ->join('brands', 'brands.id', '=', 'planes.brand_id')
                ->orWhere('planes.qty_passengers', $keySearch)
                ->orWhere('planes.class', $keySearch)
                ->orWhere('brands.name', 'LIKE', "%{$keySearch}%")
                ->select('planes.id', 'planes.name', 'planes.class', 'planes.qty_passengers', 'brands.id', 'brands.name')
                ->paginate($totalPage);
}

Carlos Ferreira
Criador Marcelo Vaz 20/03/2018

Muito bom deu certo, tive que comentara alinha abaixo para funcionar.

//->select('planes.id', 'planes.name', 'planes.class', 'planes.qty_passengers', 'brands.id', 'brands.name')

Muito obrigado.

Marcelo Vaz
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!