原则2:FROM部分中的子选择

时间:2014-03-03 18:07:26

标签: symfony doctrine-orm doctrine

有没有办法在 Doctrine 的查询的FROM部分中使用子查询?

我想构建类似的东西:

SELECT *
FROM community c, (
  SELECT *
  FROM ranking r
  WHERE r.id = 1
  LIMIT 10 OFFSET 0
) as mr
LEFT JOIN user u ON mr.user_id = u.id

1 个答案:

答案 0 :(得分:0)

如果您使用的是DQL,我认为不可能在FROM子句中使用子查询。如果你想坚持使用它,你将不得不仅使用连接重写你的查询。

如果您可以提供更大的灵活性,可以尝试使用Native SQL api。与DQL不同,它强制您编写自定义ResultSetMapping以便将SQL结果正确映射到对象,数组或标量,但它非常强大并且为您提供了最大的灵活性。