2012-07-05 48 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...]