2017-02-02 88 views
2

我有一个与自己1:N关系(单个用户可以引用多个用户,并且一个用户只能由单个用户引用)的雄辩模型用户。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

很高兴帮助) –