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

7.1 Création des modèles de données Eloquent ORM


Votre application Web Laravel pourrait communiquer directement avec les tables de la base de données. Cependant, il sera plus intéressant d'utiliser des modèles, c'est-à-dire une représentation objet de chacune des tables.

Lorsqu'on utilise une telle couche, placée entre le code et la base de données, on dira qu'on fait du mapping objet-relationnel, souvent référé comme ORM (object-relational mapping).

L'ORM livré avec Laravel s'appelle Eloquent. Les fonctionnalités qu'il vous offre sont époustouflantes.

Laravel a donné le nom Eloquent à son ORM puisque le code est éloquent, c'est-à-dire qu'une simple lecture du code permet de comprendre ce qu'il fait.

▼Publicité Le texte se poursuit plus bas

Génération du modèle

Dès que votre base de données est modélisée, vous devez créer un modèle pour vos tables.

Le fichier dans lequel le modèle est défini sera généré à l'aide de la commande php artisan make:model suivie du nom du modèle à produire.

Pour suivre les standards de Laravel, le nom du modèle doit débuter par une majuscule et être au singulier.

Ex :

Console Vagrant SSH

php artisan make:model Produit

Notez qu'il est rarement utile de créer un modèle pour les tables pivot (tables intermédiaires dans les relations de plusieurs à plusieurs) et ce, même si la table pivot contient des informations autres que les clés étrangères. Eloquent vous offrira d'autres alternatives pour accéder à ces informations.

La commande précédente créera un fichier nommé Produit.php placé directement dans le dossier app, sous le dossier de votre projet.

Voici le contenu initial du modèle :

Modèle Laravel (PHP)

<?php

 

namespace App;

 

use Illuminate\Database\Eloquent\Model;

 

class Produit extends Model

{

    //

}

Le modèle Produit est automatiquement lié à la table produits. Laravel saura faire ce lien si le nom de la table est exactement le nom du modèle, tout en lettre minuscules avec en plus un s final.

Pour plus d'information

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

« Interacting With Your Application ». Laravel Recipes. http://laravel-recipes.com/recipes/280/interacting-with-your-application

« Laravel 4 Eloquent Cheat Sheet - Conventions ». GitHub Gist. https://gist.github.com/msurguy/5654552#user-content-conventions

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Par Christiane Lagacé
Dernière révision le 30 janvier 2018
Merci de partager !

Site fièrement hébergé chez A2 Hosting.

Soumettre