Laravel collections

méthode whereIn()

Quand est apparue cette méthode ?

depuis Laravel... pourquoi tu demandes?

Description


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

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

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] => 
)