$query = $this->getEntityManager()->createQuery('
SELECT COUNT(s) FROM MyDiaryBundle:TrainingSession s
WHERE s.status = :completed
AND s.user = :user')
->setParameter('user',$user)
->setParameter('completed','confirmed');
$result = $query->getResult();
结果:array(1){[0] => array(1){[1] => string(1)“0”}}
为什么嵌套数组用'1'键入?
答案 0 :(得分:1)
使用$ query-> getSingleScalarResult()
回答你的问题 - 据我所知,getResult()将为实体数组提供水合,因此第一个维度包含实体列表,第二个维度是实体以及任何其他不是实体的一部分(例如COUNT(s)的结果)。
嵌套数组元素可能用'1'键入,因为您没有提供COUNT的别名,例如COUNT(s)AS sessionCount。