gpt4 book ai didi

php - 查询中的 Symfony 1 Doctrine 查询

转载 作者:行者123 更新时间:2023-11-29 03:26:18 26 4
gpt4 key购买 nike

我需要像这样编写 2 个嵌套查询:

SELECT * from table1 t1 WHERE t1.value1 = 5 AND t1.id IN (
SELECT t2.id FROM t2 LEFT JOIN t3 ON t2.id = t3.t2_id WHERE ....
)

问题是 Query1 和嵌套查询 Query2 是 Doctrine 查询对象,所以如果我这样做:

$q1->where('t1.id IN ('.$q2->getSqlQuery().')', $q2->getFlattenedParams()) 

它不起作用,因为组件名称需要匹配定义;

$q1->getSqlQuery()

返回实际的表名,而 $q1->where 期望在 schema.yml 中定义的 t2 和 t3 的组件名称

那么我怎样才能实现所需的查询(无需运行 2 个单独的查询并使用 PHP 从 $q2 的结果生成数组中的 where)。

最佳答案

到目前为止这对我有用:

$q1->where('t1.id IN ('.$q2->getDql().')', $q2->getFlattenedParams());

如果我遗漏了什么请告诉我

关于php - 查询中的 Symfony 1 Doctrine 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35827002/

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