0
我有两个模型,分别称为Channel
和AppUser
,它们通过名为app_user_channels
的数据透视表相关。如何通过Laravel 5.3中的多对多关系来计算最流行的(重复发生的)属性?
用户可以“跟随”多渠道,所以我定义我的关系如下渠道可以有很多的用户:
class AppUser extends Model {
protected $fillable = ['country'];
public function channels() {
return $this->belongsToMany('App\Channel', 'app_user_channels');
}
}
class Channel extends Model {
public function appUser() {
return $this->belongsToMany('App\AppUser', 'app_user_channels');
}
}
class AppUserChannel extends Model {
public function appUser() {
return $this->belongsTo('App\AppUser');
}
public function channel() {
return $this->belongsTo('App\Channel');
}
}
我需要五种最经常性的国家之间的通道的AppUsers。现在,我知道我可以通过执行类似return $this->appUser->groupBy('country')
的渠道模式获得渠道的关注者,但是如何获得频道关注者(AKA AppUsers)中最常见的国家/地区的国家和计数?
我正在使用Laravel 5.3并已通读Eloquent文档,但仍无法弄清楚。任何提示将不胜感激。
我试过这段代码,但是我得到一个错误,说select()方法不存在。有任何想法吗? –
尝试在appUser结尾添加()。即返回$ this-> appUser() - > – pseudoanime