Symfony Doctrine,使用连接从子查询中选择

5
我还没有找到一个可靠的解决方案,但我有一个想要将其转换为Doctrine的mySQL查询。它是一个带有连接的子查询选择,我可能在某个地方读到过在Doctrine中不允许在子查询中使用连接。
以下是SQL查询: SELECT part, SUM(qty) as qty FROM (SELECT part, SUM(qty) as qty FROM sub LEFT JOIN main ON main.id = main_id WHERE hold != 1 GROUP BY name, part) AS tbl GROUP BY part 这是我尝试过的方法,但都是错误的。
 $em = $this->getDoctrine()->getManager();

    $q = $em->createQuery('v');
    $q2 = $em->createSubQuery()
        ->select('m.part, sum(s.qty) qty')
        ->from('Sub s')
        ->leftJoin('s.main m')
        ->where('s.hold != 1')
        ->groupBy('m.part');

    $q->select('m.part, sum(qty)', $q2->getDQL());

我遇到的第一个错误是:

FatalErrorException: 错误:在....Controller.php的第238行调用未定义的方法Doctrine\ORM\EntityManager::createSubQuery()

我非常确定这不是我唯一做错的事情,但这是出现的第一件事。因此,getManager() 显然没有createSubQuery()函数?正确的方式是什么?

1个回答

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接