Formation PUB030 : Laravel, 2019 Le modèle de données

7.2 Que peut-on configurer dans le modèle ?


Dès que le modèle est créé, même si la classe est vide, Laravel saura l'utiliser dans ses requêtes, à condition d'avoir suivi les standards de Laravel (ex : nom du modèle = nom de la table sans le s).

Si, pour une raison ou pour une autre, un standard n'a pas été respecté, Laravel vous permettra de lui indiquer comment travailler en ajoutant des propriétés et des méthodes.

Vous pourrez également créer un modèle beaucoup plus riche, qui offre des possibilités très intéressantes, toujours grâce à des propriétés et à des méthodes.

Parmi les plus intéressantes, notons :

  • Le nom de la table liée au modèle, lorsque son nom n'est pas obtenu en ajoutant un s au nom du modèle
  • Les relations entre les tables (méthodes retournant une instance de HasMany, BelongsTo, BelongsToMany, HasManyThrough, HasOne, etc.)
  • Les accesseurs et mutateurs (méthodes dont le nom débute par get ou par set et se termine par Attribute)
  • Les modificateurs de portée pour les requêtes (méthodes dont le nom débute par scope)

Pour en savoir plus sur ce qui peut être fait dans le modèle, consultez la fiche Eloquent ORM.

La documentation de la classe Illuminate\Database\Eloquent\Model est une autre excellente ressource.

Vous pouvez également consulter directement le code dans votre projet. Vous verrez en plus le spécificateur d'accès (protected vs public) à utiliser pour les propriétés. Ce code est dans le fichier vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php.

Prenez note : vous n'avez pas nécessairement besoin de coder tout ça dans vos modèles. Les relations sont sans doute ce qui sera le plus souvent utilisé. À part ça, ne codez que ce dont vous avez besoin.

▼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