表的学说计数记录

时间:2012-03-30 16:43:42

标签: doctrine symfony

我想知道如何计算学说库中实体的所有记录

我找到了这个解决方案但不确定这是否合适:

public function findAllCounted()
{
    return $this->getEntityManager()
        ->createQuery('SELECT COUNT(a.id) FROM KSRArticleBundle:Article a')
        ->getSingleScalarResult();
}

最诚挚的问候, 博多

4 个答案:

答案 0 :(得分:11)

您无需依赖特定字段,因此这样做:

SELECT COUNT(a) FROM KSRArticleBundle:Article a

答案 1 :(得分:5)

只是为了记录,通常最好依靠id:

SELECT COUNT(a.id) FROM KSRArticleBundle:Article a

好一点

答案 2 :(得分:0)

SQL也允许这样:

SELECT COUNT(1) FROM KSRArticleBundle:Article a

通过这种方式,数据库甚至不必从表中获取任何数据,这甚至更快。字面意思是:为每条记录选择常数“1”的数字。精心设计的数据库服务器的速度小,而且在编写时不必记住有关该表的任何内容。

答案 3 :(得分:0)

查询的结果是一个总是位置为零且参数为“1”

的数组
$recordnumber= $number[0]["1"];

表名应该等于实体名称并以大写字母

开头