Como criar múltiplos onde a consulta da cláusula usando o Laravel Eloquent?

Como criar múltiplos onde a consulta da cláusula usando o Laravel Eloquent?

Problema

Precisa ter múltiplos onde as condições usando o construtor de consultas, em um dos meus projetos para um cliente. Eu tive uma solução, mas não tenho certeza se essa é a melhor maneira de fazer isso.

Exemplo:

$ resulta = usuário :: where ('this', '=', 1)
-> onde ('that', '=', 1)
-> onde ('this_too', '=', 1)
-> onde ('that_too', '=', 1)
-> onde ('this_as_well', '=', 1)
-> onde ('that_as_well', '=', 1)
-> onde ('this_one_too', '=', 1)
-> onde ('that_one_too', '=', 1)
-> onde ('this_one_as_well', '=', 1)
-> onde ('that_one_as_well', '=', 1)
-> get ();

Existe uma maneira melhor de fazer isso, ou devo ficar com este método?

Solução

Contanto que você queira tudo o que usa e o operador, você pode agrupá -los da seguinte maneira:

$ MatchSheSe = ['field1' => 'value1', 'field2' => 'value2',…];
// Se você precisar de outro grupo de onde está uma alternativa:
$ orthose = ['Yet_another_field' => 'yet_another_value',…];
Então:
$ Results = Organization :: where ($ MatchShese)-> get ();
// com outro grupo
$ Results = User :: Onde ($ MatchSheis)
-> ou onde ($ orThose)
-> get ();

O exposto acima resultará em tal consulta:

Selecione * das organizações
Onde (field1 = value1 e field2 = value2 e…)
Ou (yet_another_field = yet_another_value e…)