Eloquent を使用してカテゴリとユーザー情報を含む記事を取得するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-13 06:42:02
オリジナル
967 人が閲覧しました

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

3 つのテーブルを結合するための雄弁なアプローチ

問題:

3 つのテーブルを考えてみましょう: Articles、カテゴリとユーザー。目的は、それぞれの ID ではなくカテゴリ名とユーザー名を使用して記事を取得することです。

解決策:

Eloquent は、リレーショナル データを取得する簡単な方法を提供します。

モデル定義:

// 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');
    }
}
ログイン後にコピー

雄弁なクエリ:

カテゴリおよびユーザー情報を含む記事を取得するには:

$article = \App\Models\Article::with(['user','category'])->first();
ログイン後にコピー

使用法:

関連するファイルにアクセスするにはデータ:

$article->user->user_name  //Retrieve user name
$article->category->category_name  //Retrieve Category name
ログイン後にコピー

その他の例:

  • カテゴリ内のすべての記事の取得:
$categories = \App\Models\Category::with('articles')->get();
ログイン後にコピー
  • 特定の条件ですべての記事を取得するユーザー:
$users = \App\Models\Category::with('users')->get();
ログイン後にコピー

追加リソース:

  • Laravel Eloquent ドキュメント: http://laravel.com/docs/5.0/eloquent

以上がEloquent を使用してカテゴリとユーザー情報を含む記事を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート