如何使用 Eloquent 檢索帶有類別和使用者資訊的文章?

Patricia Arquette
發布: 2024-11-13 06:42:02
原創
969 人瀏覽過

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

連接三個表的雄辯方法

問題:

考慮三個表: 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板