Symfony3使用子查询进行多次更新

时间:2016-12-23 00:17:18

标签: doctrine sql-update symfony

是否能够使用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子查询一起使用。

1 个答案:

答案 0 :(得分:0)

据我所知,通过DQL是不可能的。

你需要经历一个循环。

{"query":{"match_all":{}}}

否则,您将考虑Batch processing,或者只使用纯SQL。因此,检查DBAL可能很有用。