2012-07-05 97 views
0

在尝试将此SQL查询转换为DQL(我正在使用Symfony2)时遇到了很多困难。如何将此SQL查询转换为DQL?

SELECT d.* FROM Document d JOIN DocumentType dt ON dt.id = d.document_type_id WHERE (d.dateFinal - INTERVAL dt.renewal SECOND) > NOW();"

非常感谢!

+0

[你尝试过什么?](http://whathaveyoutried.com) – 2012-07-05 19:57:58

+0

是我的答案任何有帮助吗?如果不是,你应该详细说明你的困难。 – Wolfram 2012-07-10 16:48:25

回答

1
  • 取而代之的数据库字段,您需要使用您DocumentDocumentType类的字段。

  • join被命名文档的association field(像d.documenttype

  • 对于MySQL的日期函数来完成:至少就我所知,你需要写custom DQL functions。该链接后面有一个INTERVAL函数的例子。这可能是您想要执行本机SQL查询的地方。

SELECT d 
FROM MyProject\Model\Document d 
    JOIN d.documenttype 
WHERE [...your own DQL functions here...]