Doctrine-按ID对表中的用户进行计数

问题描述 投票:0回答:1

我在数据库中有6条记录。3来自用户1,2来自用户2,1来自用户3。

我想通过user_id对它们进行计数,因此最终结果将为3。并且它始终返回表中所有记录的计数。返回6。

我的功能:

return $this->getDeviceRepository()
        ->createQueryBuilder('tlu')
        ->select('COUNT(tlu.user_id)')
        ->getQuery()
        ->getResult();
php symfony doctrine-orm query-builder
1个回答
0
投票

您有2个解决方案(使用groupBy或countDistinct)

return $this->getDeviceRepository()
        ->createQueryBuilder('tlu')
        ->select('COUNT(tlu.user_id)')
        ->groupBy('tlu.user_id')
        ->getQuery()
        ->getResult();

return $this->getDeviceRepository()
        ->createQueryBuilder('tlu')
        ->select('COUNT(tlu.user_id)')
        ->countDistinct('tlu.user_id')
        ->getQuery()
        ->getResult();
© www.soinside.com 2019 - 2024. All rights reserved.