计数dodtrine
计数行我有这样的桌子
id | name
---------
1 | john
2 | ken
3 | john
4 | ken
5 | ken
6 | haku
当我使用此句子
时$em->createQuery("SELECT c.id FROM UserBundle:customer c group by c.name")->getResult()
我可以为每个人提供第一对ID。
1 | john
2 | ken
6 | haku
但是,我想获得每个名称出现多少次,如下所示。
。1 | john | 2
2 | ken | 3
6 | haku | 1
我该怎么做?
对于复杂的查询,我可能会直接使用PDO,尤其是如果您不需要映射到实体。
这是如何直接使用PDO的示例:
$q = "your query here";
$stmt = $em->getConnection()->prepare($q);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
尝试以下:
$em->createQuery("SELECT c.name, COUNT(c.id) as cnt FROM UserBundle:customer c group by c.name")->getResult();