Quand est apparue cette méthode ?
depuis Laravel... pourquoi tu demandes?
Description
La méthode whereIn te permet de trouver les couples clés-valeurs dont les valeurs correspondent aux valeurs du tableau donné en paramètre
Exemples
Il y a 2 exemples pour cette collection
Exemple #1 : Recherche des produits avec un prix d'exactement 150 ou 200€. Tu remarqueras que les pizzas à 175€ ne sont pas retenues (même si elles devaient être appétissantes...) ;-)
Collection utilisée
Il n'y a pas de collections pour cette méthode
Code source
$collection = collect([
['product' => 'Desk', 'price' => 200],
['product' => 'Chair', 'price' => 100],
['product' => '25 Pizzas', 'price' => 175],
['product' => 'Bicycle', 'price' => 150],
['product' => 'Bookcase', 'price' => 150],
['product' => 'Door', 'price' => 100],
]);
$filtered = $collection->whereIn('price', [150, 200]);
$filtered->all();
print_r($filtered);
Résultat
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[0] => Array
(
[product] => Desk
[price] => 200
)
[3] => Array
(
[product] => Bicycle
[price] => 150
)
[4] => Array
(
[product] => Bookcase
[price] => 150
)
)
[escapeWhenCastingToString:protected] =>
)
Exemple #2 : Recherche des produits avec un prix d'exactement 150 ou 200€. On rentre des prix sous forme de string, plutôt qu'en nombre... et ça marche de la même façon. Pour un filtrage strict, il faudra utiliser whereInStrict().
Collection utilisée
Il n'y a pas de collections pour cette méthode
Code source
$collection = collect([
['product' => 'Desk', 'price' => '200'],
['product' => 'Chair', 'price' => 100],
['product' => '25 Pizzas', 'price' => 175],
['product' => 'Bicycle', 'price' => '150'],
['product' => 'Bookcase', 'price' => 150],
['product' => 'Door', 'price' => 100],
]);
$filtered = $collection->whereIn('price', [150, 200]);
$filtered->all();
print_r($filtered);
Résultat
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[0] => Array
(
[product] => Desk
[price] => 200
)
[3] => Array
(
[product] => Bicycle
[price] => 150
)
[4] => Array
(
[product] => Bookcase
[price] => 150
)
)
[escapeWhenCastingToString:protected] =>
)