Php 拉威尔计数雄辩的归属相关模型
我是拉威尔的新手,我遇到了以下问题: 我有一个用于用户和组的表,还有一个用于连接它们的表。任何用户都可以加入任何组的常规任务Php 拉威尔计数雄辩的归属相关模型,php,mysql,laravel,eloquent,relationship,Php,Mysql,Laravel,Eloquent,Relationship,我是拉威尔的新手,我遇到了以下问题: 我有一个用于用户和组的表,还有一个用于连接它们的表。任何用户都可以加入任何组的常规任务 ---------------------------------------------- | users | groups | user_groups | |--------------------------------------------| | id - int pk | id - pk | id - pk |
----------------------------------------------
| users | groups | user_groups |
|--------------------------------------------|
| id - int pk | id - pk | id - pk |
| name text | name | user_id - fk |
| email | | group_id - fk |
| phone | | any_attr |
----------------------------------------------
我有以下型号:
class User
{
...
public function groups()
{
return $this->belongsToMany(Group::class, 'user_groups')->withPivot(['is_notification_requested']);
}
...
}
class Group
{
...
public function users()
{
return $this->belongsToMany(User::class, 'user_groups');
}
...
}
如何获得所有的组,以及成员数?我需要组模型和组中的用户数。如果您使用的是Laravel 5.3,您只需添加
withCount(“关系”)
,如下所示:
下面是一个代码示例:
$groups = Group::withCount('users')->get();
现在您可以执行以下操作:
foreach($groups as $group) {
echo $group->user_count
}
你需要将计数作为返回对象先前计算的属性,还是可以在打印值时进行计算?你使用的是Laravel 5.2还是5.3?莱尔特:好吧,这没关系,我什么时候才能得到值。我只需要一个组列表,以及组中的用户数。这是一个分页的列表。奥利列德:拉威尔5.3我不知道这件事。当然,这是一个更好的解决方案。这是一个新的5.3功能。两者都很好地工作!:)但我想我应该用withCount的方法。非常感谢。