Come creare più query per clausola utilizzando Laravel Eloquent?

Come creare più query per clausola utilizzando Laravel Eloquent?

Problema

Ho bisogno di avere più condizioni in cui utilizzando il costruttore di query, in uno dei miei progetti per un cliente. Ho trovato una soluzione, non sono sicuro che questo sia il modo migliore per farlo.

Esempio:

$ risultati = utente :: dove ('this', '=', 1)
-> dove ('That', '=', 1)
-> dove ('this_too', '=', 1)
-> dove ('tha_too', '=', 1)
-> dove ('this_as_well', '=', 1)
-> dove ('Tha_as_well', '=', 1)
-> dove ('this_one_too', '=', 1)
-> dove ('tha_one_too', '=', 1)
-> dove ('this_one_as_well', '=', 1)
-> dove ('tha_one_as_well', '=', 1)
-> get ();

C'è un modo migliore per farlo, o dovrei rimanere con questo metodo?

Soluzione

Finché desideri tutto il luogo in cui l'uso e l'operatore, puoi raggrupparli in questo modo:

$ matchThese = ['field1' => 'value1', 'field2' => 'value2',…];
// Se hai bisogno di un altro gruppo di dove come alternativa:
$ orthose = ['Yet_another_field' => 'yot_another_value',…];
Poi:
$ risultati = Organizzazione :: dove ($ matchthese)-> get ();
// con un altro gruppo
$ risultati = utente :: dove ($ matchthese)
-> Owhere ($ Orthose)
-> get ();

Quanto sopra si tradurrà in tale domanda:

Seleziona * dalle organizzazioni
Dove (field1 = value1 e field2 = value2 e ...)
O (Yet_another_field = Yet_another_Value e ...)