So erstellen Sie mehrere Where -Klausel -Abfragen mit Laravel Eloquent?

So erstellen Sie mehrere Where -Klausel -Abfragen mit Laravel Eloquent?

Problem

Ich bin in einer meiner Projekte für einen Kunden mit mehreren Bedingungen mit dem Query Builder in einem meiner Projekte zu haben. Ich habe eine Lösung gefunden, nur nicht sicher, ob dies der beste Weg ist, dies zu tun.

Beispiel:

$ results = user :: wo ('this', '=', 1)
-> wo ('ths', '=', 1)
-> Wo ('this_too', '=', 1)
-> Wo ('this_too', '=', 1)
-> Wo ('this_as_well', '=', 1)
-> Wo ('this_as_well', '=', 1)
-> Wo ('this_one_too', '=', 1)
-> Wo ('this_one_too', '=', 1)
-> Wo ('this_one_as_well', '=', 1)
-> Wo ('this_one_as_well', '=', 1)
-> get ();

Gibt es eine bessere Möglichkeit, dies zu tun, oder sollte ich mich bei dieser Methode festhalten?

Lösung

Solange Sie alle Gebrauchszwecke und Bediener haben möchten, können Sie sie auf diese Weise gruppieren:

$ matchthese = ['field1' => 'value1', 'field2' => 'value2',…];
// Wenn Sie eine andere Gruppe von WHers als Alternative benötigen:
$ orthose = ['ark_another_field' => 'ark_another_value',…];
Dann:
$ results = organisation :: where ($ matchthese)-> get ();
// mit einer anderen Gruppe
$ results = user :: wo ($ matchthese)
-> orwhere ($ orthose)
-> get ();

Das obige wird zu einer solchen Frage führen:

Wählen Sie * aus Organisationen aus
Wobei (field1 = value1 und field2 = value2 und…)
Oder (art_another_field = artanother_value und…)