Problema
Necesito tener múltiples condiciones en el que usen el constructor de consultas, en uno de mis proyectos para un cliente. Se me ocurrieron una solución, pero no estoy seguro de si esta es la mejor manera de hacerlo.
Ejemplo:
$ Results = user :: Where ('this', '=', 1)
-> donde ('que', '=', 1)
-> donde ('this_too', '=', 1)
-> Where ('That_too', '=', 1)
-> Where ('this_as_well', '=', 1)
-> donde ('that_as_well', '=', 1)
-> Where ('this_one_too', '=', 1)
-> donde ('that_one_too', '=', 1)
-> donde ('this_one_as_well', '=', 1)
-> donde ('that_one_as_well', '=', 1)
-> get ();
¿Hay una mejor manera de hacer esto, o debería seguir con este método??
Solución
Siempre que desee todo el uso y el operador de Wheres, puede agruparlos de esta manera:
$ Matchthese = ['Field1' => 'Value1', 'Field2' => 'Value2', ...];
// Si necesita otro grupo de Wheres como alternativa:
$ orthose = ['YET_ANOTHER_FIELD' => 'YET_ANOTHER_VALUE', ...];
Entonces:
$ resultados = organización :: donde ($ matchthese)-> get ();
// con otro grupo
$ resultados = user :: donde ($ coincida)
-> o donde ($ orthose)
-> get ();
Lo anterior dará como resultado dicha consulta:
Seleccionar * de las organizaciones
Donde (campo1 = valor1 y campo2 = valor2 y ...)
O (yet_another_field = yet_another_value y ...)