在Doctrine2中使用计数



计数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();

相关内容

  • 没有找到相关文章

最新更新