Cakephp 3计算组中的用户数量

时间:2016-03-23 23:33:37

标签: cakephp cakephp-3.0

Guys正在尝试显示特定群组中的用户数量。我尝试了协会,但没有工作。列表user groups我想要显示number_users_in_group

的列表

我有两张桌子:

第一个Users和第二个User groups

用户表:

  id  group_id  status  username       password  

用户组表:

group_id  name   permission     

要显示我使用此方法的所有组:

/**
 * Index method
 *
 * @return \Cake\Network\Response|null
 */
public function index()
{
    $usersGroup = $this->paginate($this->UsersGroup);

    $this->set(compact('usersGroup'));
    $this->set('_serialize', ['usersGroup']);
}

index.cp我预测到了这个结果。所以在这个结果中我想为每个组添加多少用户在组中的数字..

示例:

  1. 管理员(5)< ---管理员组中的5个用户
  2. 主持人(3)
  3. 怎么做?

1 个答案:

答案 0 :(得分:1)

使用associations

 public function index()
    {
        $usersGroups = $this->UsersGroup->find('all',['contain'=>['Users']]);

        $this->set('userGroups',$this->paginate($usersGroups));
        $this->set('_serialize', ['usersGroups']);
    };

为此必须在用户组模型中声明关联

$this->hasMany('Users', [
            'foreignKey' => 'group_id'
        ]);

现在您可以在视图循环中count

foreach ($userGroups as $group)
echo count($group->users);