Modèles Eloquent dans Laravel
Introduction
Les modèles Eloquent sont utilisés dans Laravel pour représenter et interagir avec les données de la base de données. Ils fournissent une manière expressive et fluide de travailler avec des tables de bases de données.
Création d'un Modèle
Pour créer un modèle dans Laravel, utilisez la commande artisan make:model
.
php artisan make:model NomDuModele
Par exemple, pour créer un modèle pour une table "Utilisateurs", vous exécuteriez :
php artisan make:model Utilisateur
Exemple de Définition de Modèle
Voici à quoi ressemble un modèle Eloquent typique :
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Utilisateur extends Model
{
protected $table = 'utilisateurs';
}
Requêtes avec les Modèles
Une fois le modèle défini, vous pouvez effectuer diverses opérations sur la table correspondante, telles que la création, la lecture, la mise à jour et la suppression de données.
Création d'un nouvel enregistrement
$utilisateur = new Utilisateur;
$utilisateur->nom = 'John Doe';
$utilisateur->email = 'john@example.com';
$utilisateur->save();
Récupération d'un enregistrement
$utilisateur = Utilisateur::find(1);
echo $utilisateur->nom;
Mise à jour d'un enregistrement
$utilisateur = Utilisateur::find(1);
$utilisateur->nom = 'Jane Doe';
$utilisateur->save();
Suppression d'un enregistrement
$utilisateur = Utilisateur::find(1);
$utilisateur->delete();
Scénarios
Scenario 1: Enregistrer un nouvel utilisateur
$nouvelUtilisateur = new Utilisateur;
$nouvelUtilisateur->nom = 'Alice';
$nouvelUtilisateur->email = 'alice@example.com';
$nouvelUtilisateur->save();
Scenario 2: Modifier le nom d'un utilisateur existant
$utilisateur = Utilisateur::find(2);
$utilisateur->nom = 'Bob';
$utilisateur->save();
Scenario 3: Supprimer un utilisateur
$utilisateur = Utilisateur::find(3);
$utilisateur->delete();
Conclusion
Les modèles Eloquent simplifient grandement l'interaction avec les données de la base de données dans Laravel. En comprenant comment créer, utiliser et manipuler des modèles, vous pouvez construire des applications Web robustes et efficaces.