Symfony2统计结果

Symfony2统计结果,symfony,count,doctrine,Symfony,Count,Doctrine,如何输出此项的结果数: $count_task_done = $this->getDoctrine() ->getRepository('SeotoolMainBundle:Task') ->findBy(array('User' => $user_id, 'Done' => TRUE)); 先谢谢你 编辑1: 当时我在TWIG中解决了这个问题: {% set count_task_done = count_task_done|le

如何输出此项的结果数:

$count_task_done = $this->getDoctrine()
        ->getRepository('SeotoolMainBundle:Task')
        ->findBy(array('User' => $user_id, 'Done' => TRUE));
先谢谢你

编辑1:

当时我在TWIG中解决了这个问题:

{% set count_task_done = count_task_done|length %}

有更好的解决方案吗?

您可以使用QueryBuilder:

// SeotoolMainBundle/Repository/TaskRepository.php
public function getTasksCount($user_id, $status) 
{
    $query = $this->createQueryBuilder('t')
        ->select('COUNT(t)')
        ->where('t.user = :user')
        ->andWhere('t.done = :status')
        ->setParameters(array(
            'user' => $user_id,
            'status' => $status, // true
        ));

    return $query->getQuery()->getSingleScalarResult();
}