Heim > Datenbank > MySQL-Tutorial > Wie übergebe ich Variablen an Laravel Advanced Where-Klauseln?

Wie übergebe ich Variablen an Laravel Advanced Where-Klauseln?

Patricia Arquette
Freigeben: 2024-12-17 07:01:25
Original
841 Leute haben es durchsucht

How to Pass Variables into Laravel Advanced Where Clauses?

Übergabe von Variablen an erweiterte Where-Klauseln von Laravel

In Situationen, in denen Sie externe Variablen an eine erweiterte Where-Klausel von Laravel übergeben müssen, z. B. beim Filtern von Ergebnissen mithilfe benutzerdefinierter Klauseln Suchkriterien verwenden, reicht die in der Dokumentation bereitgestellte Standardsyntax möglicherweise nicht aus.

Glücklicherweise gibt es eine bequemere Lösung mit der Verwendung Schlüsselwort, mit dem Sie Variablen aus dem übergeordneten Bereich in den Abschluss einfangen können, der die where-Klausel definiert. Zum Beispiel:

DB::table('users')->where(function($query) use ($searchQuery) {
    $query->where('name', 'LIKE', '%'.$searchQuery.'%')
        ->orWhere('address', 'LIKE', '%'.$searchQuery.'%');
});
Nach dem Login kopieren

In diesem Beispiel wird die Variable $searchQuery vom übergeordneten Bereich an den Abschluss übergeben und kann innerhalb der where-Klausel verwendet werden. Das Schlüsselwort use stellt sicher, dass die Variable per Referenz erfasst wird, sodass innerhalb des Abschlusses auf sie zugegriffen und sie geändert werden kann.

Alternativ können Sie mit der Einführung der Pfeilfunktionen von PHP 7.4 das gleiche Ergebnis mit a erzielen prägnantere Syntax:

DB::table('users')->where(fn($query) => $query->where('name', 'LIKE', '%'.$searchQuery.'%')
    ->orWhere('address', 'LIKE', '%'.$searchQuery.'%'));
Nach dem Login kopieren

Pfeilfunktionen erfassen automatisch Variablen aus dem übergeordneten Bereich, sodass sie nicht explizit mithilfe von use aufgelistet werden müssen. Es ist jedoch wichtig zu beachten, dass Pfeilfunktionen immer einen Wert zurückgeben und das Weglassen des Schlüsselworts „return“ erfordern.

Das obige ist der detaillierte Inhalt vonWie übergebe ich Variablen an Laravel Advanced Where-Klauseln?. 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