获取跨列的表中记录的总大小 - symfony

时间:2017-11-28 11:30:38

标签: php mysql symfony

我在mysql中有一个列,我需要在symfony应用程序中的列中检索表中总记录的大小。

这是表格的结构,我想在agrees列中获取记录的总大小,所以在这种情况下它应该返回2:

id | agrees | disjoint |
1  |  1     | 0
2  |  1     | null

下面是我的方法,但它只是从表中提取所有内容,但我无法计算同意列的大小

$restresults = $this->getDoctrine()->getRepository('xxxBundle:Entity')->findAll();

      $data = array();
        foreach ($restresults as $restresult) {

            array_push($data, $this->serialize($restresult));

        }

     $response = new Response(json_encode($data), 200);
     $response->headers->set('Content-Type', 'application/json');

请问如何获取列中记录的总大小?

1 个答案:

答案 0 :(得分:0)

如果您需要表格中的count元素,请使用:

$qb = $entityManager->createQueryBuilder();
$qb->select('count(e.id)');
$qb->from('xxxBundle:Entity','e');

$count = $qb->getQuery()->getSingleScalarResult();

如果您需要总和列,请使用

$qb->select('sum(e.agrees)');

http://docs.doctrine-project.org/en/latest/reference/query-builder.html

中的更多信息