所以我有两张桌子,一张叫members
一张叫memberships
我的目标是统计拥有特定会员资格的会员人数。我已经设置了外键并且关系工作正常,以至于我需要进行计数。
我的范围是(在Member
模型中)
public function scopeActive($query) {
return $query->where('membership_ended_at', Null);
}
我的关系是(Member
模型中)
public function membership() {
return $this->belongsTo('App\Membership');
}
这个查询工作正常,我看到有多少成员active()
有membership_id
6 个。
$members_student = Membership::find(6)->members()->active()->count();
我不知道这是否应该起作用,但确实如此。现在,我遇到的问题是我们有一个普通的学生会员,还有一个 ID 为 14 的海外学生会员。
我以为这可能会奏效,但我很快意识到我错了
$members_student = Membership::find([6,14])->members()->active()->count();
我知道我可以调用两个查询并将两者相加,但我正在寻找一个更优雅的解决方案。只需要一个查询的东西,我的查询将减半。
希望其他人以前看过这个