2017-02-02 8 views
2

私は1:Nリレーションシップ(1人のユーザーが複数のユーザーを参照でき、1人のユーザーは1人のユーザーのみが参照できます)という雄弁なモデルのユーザーを持っています。Laravelのリレーションの数量をカウントします

/* 
* Get the user's referrals 
*/ 

public function referrals() 
{ 
    return $this->belongsToMany('App\User'); 
} 

/* 
* Get the referred user's parent referral 
*/ 

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

LaravelはすべてのbelongsToMany関係をカウントするネイティブメソッドを提供しますか?

(私はこれを行うことができます簡単な方法は、ちょうどすべての出演を数え、手動で親のユーザーのIDを取得しているが、私は、オブジェクトに使用することができますLaravelによって与えられた方法がありますかどうかを知りたい)

答えて

2

関係から結果の数をカウントするwithCount()メソッドを使用します。あなたが実際にあなたが{関係を}置くであろう、withCountメソッドを使用することができ、それらをロードすることなく関係からの結果の数をカウントしたい場合

結果のモデルの_count列

User::withCount('referrals')->get(); 
+1

ありがとう、自分自身を検索しますが、何らかの理由でドキュメントでそれを見つけることができませんでした:) – kjanko

+0

Glad it helped) –

関連する問題