Heim >Datenbank >MySQL-Tutorial >Wie kann ich Variablen an die erweiterten Where-Verschlüsse von Laravel übergeben?
Übergabe von Variablen an die erweiterten Where-Abschlüsse von Laravel
Die erweiterten Where-Funktionen von Laravel bieten leistungsstarke Möglichkeiten zum Filtern Ihrer Abfragen. Es kann jedoch vorkommen, dass Sie externe Variablen an den in der Where-Funktion verwendeten Abschluss übergeben müssen.
Beispielszenario
Angenommen, Sie möchten eine externe Variable verwenden , wie etwa $searchQuery, in Ihrem Where-Abschluss:
->where('city_id', '=', $this->city->id) ->where(function($query) { $query->where('name', 'LIKE', '%'.$searchQuery.'%') ->orWhere('address', 'LIKE', '%'.$searchQuery.'%') })
Verwenden Sie das Schlüsselwort Lösung
Sie können die notwendigen Variablen mit dem Schlüsselwort use in den Abschluss übergeben:
DB::table('users')->where(function ($query) use ($searchQuery) { $query->where('name', 'LIKE', '%'.$searchQuery.'%') ->orWhere('address', 'LIKE', '%'.$searchQuery.'%') })->get();
PHP 7.4 Arrow Function (Update)
In PHP 7.4 und höher können Sie Pfeilfunktionen für eine prägnantere Darstellung verwenden Syntax:
DB::table('users')->where(fn($query) => $query->where('name', 'LIKE', '%'.$searchQuery.'%') ->orWhere('address', 'LIKE', '%'.$searchQuery.'%'))->get();
Im Gegensatz zu regulären anonymen Funktionen erfassen Pfeilfunktionen automatisch Variablen aus dem übergeordneten Bereich und erlauben keine explizite Auflistung über die Verwendung. Sie müssen jedoch eine einzige Return-Anweisung haben und dürfen nicht mehrere Codezeilen enthalten.
Das obige ist der detaillierte Inhalt vonWie kann ich Variablen an die erweiterten Where-Verschlüsse von Laravel übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!