Les 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.

▼Publicité

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.

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

Merci de partager ! Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestShare on StumbleUponEmail this to someone
Catégories