是否能够使用Doctrine查询构建器或DQL在Symfony3上使用子查询进行多次更新?
例如,我想运行此查询:
UPDATE tableA
SET fieldA2 = max_field2
FROM (SELECT
field1,
max(field2) AS max_field2
FROM table
GROUP BY field1) AS subquery
WHERE subquery.field1 = tableA.field1;
我无法理解如何将$entityManager->createQuery()->update
与FROM子查询一起使用。
答案 0 :(得分:0)
据我所知,通过DQL是不可能的。
你需要经历一个循环。
{"query":{"match_all":{}}}
否则,您将考虑Batch processing,或者只使用纯SQL。因此,检查DBAL可能很有用。