Maison > Article > base de données > Comment joindre trois tables dans Laravel en utilisant Eloquent ?
Joindre trois tables avec Laravel Eloquent
Introduction
Lorsque vous travaillez avec des bases de données relationnelles, rejoindre tables est souvent nécessaire pour récupérer des données sur plusieurs tables. Cet article montre comment joindre trois tables dans Laravel à l'aide de l'ORM Eloquent, offrant une alternative aux jointures SQL natives.
Schéma de base de données
Considérez le schéma de base de données suivant :
Requête avec Eloquent
Configuration des relations
Tout d'abord, établissez les relations entre les modèles :
// Article.php class Article extends Eloquent { public function user() { return $this->belongsTo('App\Models\User'); } public function category() { return $this->belongsTo('App\Models\Category'); } } // Category.php class Category extends Eloquent { public function articles() { return $this->hasMany('App\Models\Article'); } } // User.php class User extends Eloquent { public function articles() { return $this->hasMany('App\Models\Article'); } }
Join Query
Pour joindre les trois tables et récupérer les articles avec leur catégorie et les détails de l'utilisateur, utilisez la méthode with() :
$articles = \App\Models\Article::with(['user', 'category'])->get();
Accès aux données associées
Une fois les résultats récupérés, vous pouvez accéder aux données associées en tant que propriétés :
foreach ($articles as $article) { echo $article->title . ' - '; echo $article->user->user_name . ' - '; echo $article->category->category_name; }
Conclusion
Utilisation Eloquent pour joindre des tables simplifie et accélère la récupération de données dans Laravel. En établissant des relations entre les modèles, vous pouvez facilement accéder et manipuler les données associées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!