Doctrine查询构建器 - 嵌套查询,AS关键字,选择函数

时间:2014-07-15 12:54:07

标签: symfony doctrine-orm

SELECT t1.field1 AS foo, (SELECT ABS(SUM(amount)) FROM table2 t2) FROM table1;

如何将此查询转换为symfony 2 doctrine查询构建器?

$results = $this->getEntityManager()->createQueryBuilder()
           ->select(...)
           //...

1 个答案:

答案 0 :(得分:3)

$results = $this->getEntityManager()->createQueryBuilder()
  ->select('t1.field1')
  ->addSelect('abs(sum(amount)) t2')
  ->from('BundleName:Entity', 't1)
  ->leftJoin('t1.field', 'another')
  ->getQuery()->getResult();

也许这有效,我在这里找到了类似的问题和解决方案: Select Subquery with COUNT() in Doctrine DQL

如果它不起作用,您可以为问题创建两个查询,并在第二个查询中使用第一个查询的结果。