Heim > PHP-Framework > Laravel > Detaillierte Erläuterung der neuen Sammlungsoperation when-Methode in Laravel5.4.12

Detaillierte Erläuterung der neuen Sammlungsoperation when-Methode in Laravel5.4.12

藏色散人
Freigeben: 2020-04-06 11:50:48
nach vorne
2094 Leute haben es durchsucht

Ab v5.4.12 enthalten Laravel Collections jetzt eine when-Methode, mit der Sie bedingte Aktionen für Elemente ausführen können, ohne die Kette zu unterbrechen.

Empfohlen: Laravel-Tutorial

Wie alle anderen Laravel-Erfassungsmethoden kann diese viele Anwendungsfälle haben. Wählen Sie einen davon aus und denken Sie daran, auf Abfragen basieren zu können Zu filternde Zeichenfolgenparameter.

Um dieses Beispiel zu veranschaulichen, gehen wir davon aus, dass wir eine Liste von Hosts aus dem Laravel News Podcast haben:

$hosts = [
    ['name' => 'Eric Barnes', 'location' => 'USA', 'is_active' => 0],
    ['name' => 'Jack Fruh', 'location' => 'USA', 'is_active' => 0],
    ['name' => 'Jacob Bennett', 'location' => 'USA', 'is_active' => 1],
    ['name' => 'Michael Dyrynda', 'location' => 'AU', 'is_active' => 1],
];
Nach dem Login kopieren

Alte Versionen Um basierend auf einer Abfragezeichenfolge zu filtern, können Sie Folgendes tun:

$inUsa = collect($hosts)->where('location', 'USA');
if (request('retired')) {
    $inUsa = $inUsa->filter(function($employee){
        return ! $employee['is_active'];
    });
}
Nach dem Login kopieren

Mit der neuen when-Methode können Sie diesen Vorgang jetzt in einer verketteten Operation ausführen:

$inUsa = collect($hosts)
    ->where('location', 'USA')
    ->when(request('retired'), function($collection) {
        return $collection->reject(function($employee){
            return $employee['is_active'];
        });
    });
Nach dem Login kopieren

Übersetzt aus Laravel News, Originallink https://laravel-news.com/laravel-collections -when -Methode

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der neuen Sammlungsoperation when-Methode in Laravel5.4.12. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage