Heim >Datenbank >MySQL-Tutorial >Wie kann man Variablen effizient an die „whereExists'-Unterabfragen von Laravel übergeben?
Übergabe von Variablen an Laravel's Advanced Wheres
In Laravel kann die Verwendung von Unterabfragen mit der Methode whereExists unkompliziert sein. Allerdings ergeben sich Herausforderungen, wenn externe Variablen in den Abschluss einbezogen werden müssen. Die Verwendung externer Variablen wie $this->city->id kann die Effizienz des Codes beeinträchtigen.
Lösung: Verwendung des Schlüsselworts „use“
Um dieses Problem zu beheben, ermöglicht das Schlüsselwort use die Übergabe der erforderlichen Variablen aus dem übergeordneten Bereich an den Abschluss. Dieser Ansatz ermöglicht die bequeme Verwendung externer Variablen innerhalb des Abschlusses.
Zum Beispiel:
DB::table('users') ->where(function ($query) use ($activated) { $query->where('activated', '=', $activated); }) ->get();
PHP 7.4 Update: Pfeilfunktionen
PHP 7.4 führt Pfeilfunktionen ein, eine prägnantere Form anonymer Funktionen. Dies bietet eine noch einfachere Möglichkeit, Variablen an Abschlüsse zu übergeben.
Hier ist ein Beispiel für die Verwendung von Pfeilfunktionen in PHP 7.4:
DB::table('users') ->where(fn($query) => $query->where('activated', '=', $activated)) ->get();
Im Vergleich zur regulären Syntax weisen Pfeilfunktionen die folgenden Unterschiede auf :
Das obige ist der detaillierte Inhalt vonWie kann man Variablen effizient an die „whereExists'-Unterabfragen von Laravel übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!