使用计数和组与Doctrine2,Symfony2和Alidatabundle一起使用



我有一个带有三个字段(ID,用户,位置)的实体。我想按位置显示用户数量。

使用sql,这很容易,但是当我想使用dql和alidatabablebundle

时,我会出错
$qb = $this->createQueryBuilder('a')
->select("count(*) as myCount, a.location")->groupBy('a.location');

'mycount'没有指向一堂课。

我已经看到Alidatabundle可以使用别名。它应该有效。

有什么想法?

您可以在实体存储库中尝试此方法:

public function getSth() {
    $query = 'your sql query here';
    $em = $this->getEntityManager();
    $connection = $em->getConnection();
    $stmt = $connection->prepare($query);
    $stmt->execute();
    return $stmt->fetchAll();
}

或通过查询构建器:

public function getSth() {
    $qb = $this->createQueryBuilder();
    $qb->select('count(a.id)');
    $qb->from('YourBundleBundle:Entity','a');
    $qb->groupBy('a.location');
    $query = $qb->getQuery();
    return $query->->execute();
}

相关内容

  • 没有找到相关文章