Heim > Datenbank > MySQL-Tutorial > Wie kann ich Variablen an die erweiterten Where-Verschlüsse von Laravel übergeben?

Wie kann ich Variablen an die erweiterten Where-Verschlüsse von Laravel übergeben?

Linda Hamilton
Freigeben: 2024-12-20 22:04:12
Original
233 Leute haben es durchsucht

How Can I Pass Variables to Laravel's Advanced Where Closures?

Ü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.'%')

    })
Nach dem Login kopieren

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();
Nach dem Login kopieren

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();
Nach dem Login kopieren

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!

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