Formation PUB030 : Laravel, 2019 Les requêtes avec Eloquent ORM

18.1 Sélectionner tous les enregistrements : all()


Dans une application Laravel, la méthode all(), appliquée directement au modèle de données, permet de retrouver toutes les données de la table associée au modèle.

Ex :

Contrôleur Laravel (PHP)

$categories = Categorie::all();

La valeur de retour de all() est une instance de Illuminate\Database\Eloquent\Collection. Dans l'exemple précédent, $categories est une collection d'objets de type Categorie.

Un dump and die de la variable $categories nous le confirmera :

Ex :

Résultat à l'écran

Collection {#177 ▼

  #items: array:2 [▶]

}

ou, après avoir déroulé les flèches :

Résultat à l'écran

Collection {#177 ▼

  #items: array:2 [▼

    0 => Categorie {#178 ▼

      #primaryKey: "id"

      ...

      #attributes: array:4 [▼

        "id" => 1

        "description" => "Plantes annuelles"

        "created_at" => null

        "updated_at" => null

      ]

      ...

    }

    1 => Categorie {#179 ▼

      #primaryKey: "id"

      ...

      #attributes: array:4 [▼

        "id" => 2

        "description" => "Plantes vivaces"

        "created_at" => null

        "updated_at" => null

      ]

      ...

    }

  ]

}

Tri

Pour obtenir tous les enregistrements triés dans un ordre donné, on n'a pas besoin de travailler avec all(). On utilisera plutôt la méthode orderBy() suivie de la méthode get() afin d'obtenir une collection.

Contrôleur Laravel (PHP)

$categories = Categorie::orderBy('description')->get();

Boucle

Une fois qu'on a une collection d'objets, il est possible de boucler dans ses éléments. Autrement dit, on pourra boucler dans les résultats de la requête.

Ex :

Contrôleur Laravel (PHP)

foreach($categories as $categorie) {

    ...

}

ou, si c'est la vue qui doit effectuer la boucle :

Vue Laravel (Blade)

@if (count($categories))

    @foreach($categories as $categorie)

        ...

    @endforeach

@else

    <p>Il n'y a aucune catégorie.</p>

@endif

Pour plus d'information

« Eloquent: Getting Started ». Laravel. https://laravel.com/docs/master/eloquent

« Collections ». Laravel. https://laravel.com/docs/master/collections#method-all

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre