Abfragen mit mehreren WHERE-Klauseln mit Laravel Eloquent erstellen
Stellen Sie sich das folgende Szenario vor: Sie verwenden den Eloquent-Abfrage-Builder von Laravel und müssen etwas erstellen eine Abfrage mit mehreren WHERE-Klauseln, die auf unterschiedliche Bedingungen abzielen. Obwohl dies mit mehreren Where-Methodenaufrufen möglich ist, kann dieser Ansatz repetitiv und unhandlich werden.
Um dieses Problem zu beheben, bietet Laravel mehrere alternative Optionen für die elegantere Konstruktion solcher Abfragen.
Verwenden eines Arrays von Bedingungen in where
Ab Laravel 5.3 können Sie mehrere Bedingungen in angeben ein Array, das an die where-Methode übergeben wird:
$query->where([ ['column_1', '=', 'value_1'], ['column_2', '<>', 'value_2'], // ... ]);
Verwenden eines Arrays in where
Vor Laravel 5.3 konnten Sie auch ein Array verwenden, um Bedingungen in where anzugeben:
$matchThese = ['field' => 'value', 'another_field' => 'another_value', ...]; $results = User::where($matchThese)->get();
Verwenden orWhere
Alternativ können Sie Bedingungen mithilfe von orWhere gruppieren:
$results = User::where($matchThese) ->orWhere($orThose) ->get();
Resultierende SQL-Abfrage
Mit der Methode orWhere wird eine generiert Abfrage ähnlich dieser:
SELECT * FROM users WHERE (field = value AND another_field = another_value AND ...) OR (yet_another_field = yet_another_value AND ...)
Diese Techniken ermöglichen es Ihnen um Abfragen mit mehreren WHERE-Klauseln präziser und wartbarer zu erstellen.
Das obige ist der detaillierte Inhalt vonWie kann ich Laravel-Eloquent-Abfragen mit mehreren WHERE-Klauseln effizient erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!