在 Doctrine 中,我如何计算一个实体的项目?例如,我意识到我可以使用:
$usersCount = $dm->getRepository('User')->count();
但这只会计算所有用户。我只想计算那些类型为 employee 的人。我可以做类似的事情:
$users = $dm->getRepository('User')->findBy(array('type' => 'employee'));
$users = count($users);
那行得通,但不是最佳选择。是否有类似以下内容:?
$usersCount = $dm->getRepository('User')->count()->where('type', 'employee');
原文由 luqita 发布,翻译遵循 CC BY-SA 4.0 许可协议
那么,您可以使用 QueryBuilder 来设置一个
COUNT
查询:假设
$dm
是您的实体经理。或者你可以用 DQL 编写它:
计数可能需要在 id 字段上,而不是对象上,不记得了。 If so just change the
COUNT(u)
or->count('u')
toCOUNT(u.id)
or->count('u.id')
or whatever your primary key field is called.