Maison > base de données > tutoriel mysql > Comment récupérer des articles avec des informations sur la catégorie et l'utilisateur à l'aide d'Eloquent ?

Comment récupérer des articles avec des informations sur la catégorie et l'utilisateur à l'aide d'Eloquent ?

Patricia Arquette
Libérer: 2024-11-13 06:42:02
original
1075 Les gens l'ont consulté

How to Retrieve Articles with Category and User Information using Eloquent?

Approche éloquente pour joindre trois tables

Problème :

Considérez trois tables : articles, Catégories et utilisateurs. L'objectif est de récupérer les articles avec leur nom de catégorie et leur nom d'utilisateur au lieu de leurs identifiants respectifs.

Solution :

Eloquent propose une méthode simple pour récupérer des données relationnelles.

Définition du modèle :

// Article.php
namespace App\Models;

use Eloquent;

class Article extends Eloquent {
    protected $table = 'articles';

    public function user() {
        return $this->belongsTo('App\Models\User');
    }

    public function category() {
        return $this->belongsTo('App\Models\Category');
    }
}


// Category.php
namespace App\Models;

use Eloquent;

class Category extends Eloquent {
    protected $table = "categories";

    public function articles() {
        return $this->hasMany('App\Models\Article');
    }
}


// User.php
namespace App\Models;

use Eloquent;

class User extends Eloquent {
    protected $table = 'users';

    public function articles() {
        return $this->hasMany('App\Models\Article');
    }
}
Copier après la connexion

Requête éloquente :

Pour récupérer des articles avec des informations sur la catégorie et l'utilisateur :

$article = \App\Models\Article::with(['user','category'])->first();
Copier après la connexion

Utilisation :

Pour accéder aux données associées :

$article->user->user_name  //Retrieve user name
$article->category->category_name  //Retrieve Category name
Copier après la connexion

Autres exemples :

  • Récupérer tous les articles d'une catégorie :
$categories = \App\Models\Category::with('articles')->get();
Copier après la connexion
  • Récupérer tous les articles d'un utilisateur spécifique :
$users = \App\Models\Category::with('users')->get();
Copier après la connexion

Ressources supplémentaires :

  • Documentation éloquente de Laravel : http://laravel.com/docs/5.0/eloquent

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal