Heim > Datenbank > MySQL-Tutorial > Wie kann ich auf externe Variablen in PHP-Abschlüssen zugreifen, wenn ich die „where'-Klauseln von Laravel verwende?

Wie kann ich auf externe Variablen in PHP-Abschlüssen zugreifen, wenn ich die „where'-Klauseln von Laravel verwende?

Mary-Kate Olsen
Freigeben: 2024-12-20 06:25:10
Original
998 Leute haben es durchsucht

How Can I Access External Variables in PHP Closures When Using Laravel's `where` Clauses?

PHP-Abschluss mit externen Variablen verwenden

Bei Verwendung der erweiterten Where-Klauseln von Laravel ist es notwendig, externe Variablen an Abschlussfunktionen zu übergeben. Die Standardsyntax umfasst das Erstellen einer neuen Eigenschaft und den Zugriff darauf über $this. Das Schlüsselwort „use“ bietet jedoch eine bequemere Lösung.

Durch die Verwendung von „use“ können Sie die benötigten Variablen im Gültigkeitsbereich des Abschlusses deklarieren. Zum Beispiel:

DB::table('users')->where(function ($query) use ($activated) {
    $query->where('activated', '=', $activated);
})->get();
Nach dem Login kopieren

Mit diesem Ansatz können Sie direkt auf die $activated-Variable innerhalb des Abschlusses verweisen.

Erweiterte Syntax mit PHP 7.4

In PHP 7.4 bieten Pfeilfunktionen eine übersichtliche Alternative zu anonymen Funktionen. Hier ist ein Beispiel für die Verwendung von Pfeilfunktionen:

DB::table('users')->where(fn($query) => $query->where('activated', '=', $activated))->get();
Nach dem Login kopieren

Beachten Sie jedoch, dass sich Pfeilfunktionen geringfügig von regulären Funktionen unterscheiden:

  • Sie erfassen automatisch Variablen aus dem übergeordneten Bereich.
  • Sie geben immer einen Wert zurück, wodurch das Schlüsselwort „return“ überflüssig wird.
  • Sie müssen ein einzelner Ausdruck ohne Curly sein Zahnspangen.

Das obige ist der detaillierte Inhalt vonWie kann ich auf externe Variablen in PHP-Abschlüssen zugreifen, wenn ich die „where'-Klauseln von Laravel verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage