我很确定DQL将成为可行的方法,但我想知道Doctrine,我使用的是Doctrine 2,是否有某种程度可以返回行数。我不会使用行本身,我只想要计数。
答案 0 :(得分:30)
我是Doctrine2的新手,但看起来你可以这样做:
$query = $em->createQuery('SELECT COUNT(u.id) FROM Entities\User u');
$count = $query->getSingleScalarResult();
来源(使用Agregate函数):http://www.doctrine-project.org/docs/orm/2.0/en/reference/dql-doctrine-query-language.html#dql-select-examples
答案 1 :(得分:0)
这是关于在DQL中使用聚合函数的另一个有趣的观点
http://doctrine-orm.readthedocs.org/en/latest/cookbook/aggregate-fields.html
也许您会避免创建特定查询来获取聚合值。在这种情况下,聚合字段是一个很好的选择。