À partir de la v5.4.12, les collections Laravel incluent désormais une méthode when qui vous permet d'effectuer des actions conditionnelles sur des éléments sans rompre la chaîne.
Recommandé : tutoriel Laravel
Comme toutes les autres méthodes de collecte Laravel, celle-ci peut avoir de nombreux cas d'utilisation, choisissez-en un, pensez à pouvoir vous baser sur des requêtes paramètres de chaîne à filtrer.
Pour illustrer cet exemple, supposons que nous ayons une liste d'hôtes du podcast Laravel News :
$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], ];
Anciennes versions Pour filtrer en fonction d'une chaîne de requête, vous pouvez faire ceci :
$inUsa = collect($hosts)->where('location', 'USA'); if (request('retired')) { $inUsa = $inUsa->filter(function($employee){ return ! $employee['is_active']; }); }
En utilisant la nouvelle méthode when, vous pouvez désormais effectuer cette opération dans une opération chaînée :
$inUsa = collect($hosts) ->where('location', 'USA') ->when(request('retired'), function($collection) { return $collection->reject(function($employee){ return $employee['is_active']; }); });
Traduit de laravel news, lien original https://laravel-news.com/laravel-collections -when -méthode
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!