gpt4 book ai didi

php - Symfony Doctrine,从带有连接的子查询中选择

转载 作者:可可西里 更新时间:2023-10-31 23:20:27 24 4
gpt4 key购买 nike

还没有找到一个可靠的解决方案,但我有一个 mySQL 查询,我想将其转换为 Doctrine。它是从带有连接的子查询中选择的,我可能在某处读到 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按部分分组

这是我试过的,但完全错了。

 $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:错误:调用未定义的方法 Doctrine\ORM\EntityManager::createSubQuery() in ....Controller.php line 238

我很确定我做错的不只是这个,而是首先出现的问题。所以 getManager() 显然没有 createSubQuery() 函数?执行此操作的正确方法是什么?

最佳答案

没有像createSubQuery() 这样的方法。看看那个答案:https://stackoverflow.com/a/10763358

关于php - Symfony Doctrine,从带有连接的子查询中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23746716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com