Select Laravel 5.2
Bom dia, trabalho com laravel a um tempo, mas me surgiu uma dúvida agora em um select.
$search = DB::table('contratos as a')
->leftjoin('variaveis as b','a.carteira_id','=','b.id')
->leftjoin('cidades as c','a.comarca_id','=','c.id')
->leftjoin('status as d','a.status_id','=','d.id')
->join('users as e','a.responsavel_id','=','e.id')
->leftjoin('cliente as f','a.cliente_id','=','f.id')
->select('a.*', 'b.name as varname', 'd.name as statusname', 'c.name as ciddname', 'c.uf as cidduf','e.name as username','f.name as cliente_name')
->whereIn('a.status_id', Request::get('status_id'))
->whereIn('a.status_pos_mandado', Request::get('status_pos_mandado'))
->whereIn('a.status_contencioso', Request::get('status_contencioso'))
->where('a.sub_status_pos', Request::get('sub_status_pos')) // -> 1
->where('a.sub_status_cont', Request::get('sub_status_cont')) // -> 2
->paginate(20);
No select acima, nas condições where que eu marquei com 1 e 2, são 2 campos não obrigatório no banco de dados e não são obrigatórios na busca. Quando vou filtrar os casos, se eu não selecionar nenhum dos 2 where, eu quero que ele não aplique o filtro e siga com os filtros selecionados. O que ocorre hoje é que mesmo eu não selecionando ele na busca, quando é feita a filtragem no BD, ele é executado como um valor em branco, assim procurando só os valores em branco. O que eu quero é que quando não for selecionado um valor, ele não aplique filtro..
Desde já agradeço.Discussão (5)
Carregando comentários...