Chapitre 8 : Relations
1. Introduction aux Relations
Laravel permet de définir facilement les relations entre vos modèles (tables).
2. Relation "One to Many" (Un à Plusieurs)
Exemple : Une catégorie possède plusieurs produits.
// Dans App\Models\Category.php
public function products() {
return $this->hasMany(Product::class);
}
// Dans App\Models\Product.php
public function category() {
return $this->belongsTo(Category::class);
}
3. Utilisation des relations
// Récupérer les produits d'une catégorie
$category = Category::find(1);
$products = $category->products;
// Récupérer la catégorie d'un produit
$product = Product::find(1);
$categoryName = $product->category->name;
4. Relation "Many to Many" (Plusieurs à Plusieurs)
Exemple : Un utilisateur peut avoir plusieurs rôles, et un rôle peut appartenir à plusieurs utilisateurs.
// Dans App\Models\User.php
public function roles() {
return $this->belongsToMany(Role::class);
}
5. Section Quiz
Testez vos connaissances sur les relations Eloquent.
Exercice
Supposons que vous ayez un modèle Post et un modèle Comment. Définissez la relation One-to-Many entre eux (un post a plusieurs commentaires).
Quiz du chapitre 8
Ateliers pratiques & Projets
Testez vos compétences avec nos exercices guidés et le tuteur IA.
Ateliers pratiques & Corrigés détaillés
Ateliers pratiques & Corrigés
#1 — Comprendre les bases : Eloquent ORM : Relations (1-1, 1-N, N-N)
Atelier #1Expliquez avec vos mots le concept principal de ce chapitre, puis illustrez-le par un exemple simple.
Consulter la solution type du formateur
#2 — Application guidée
Atelier #2Réalisez un exercice pratique en reprenant la structure vue dans le cours et en modifiant au moins 2 paramètres.
Consulter la solution type du formateur
#3 — Mini défi
Atelier #3Concevez une petite solution personnelle liée à 'Eloquent ORM : Relations (1-1, 1-N, N-N)' et justifiez vos choix techniques.