2012-10-18 37 views
1

返回表達我有一個包含SELECT表達式,它只是用來排序一個DQL查詢:忽略DQL

SELECT u, (u.orderTotal/u.orderCount) AS orderAverage 
FROM User u 
ORDER BY orderAverage 

我不得不因爲到目前爲止,Doctrine does not support ordering by an expression用這一招。

這工作正常,期望這個問題的範圍之外的原因,我想只有通過u返回getResult()有:

[0] => object(User) 
[1] => object(User) 

和不含uorderAverage嵌套數組:

[0] => 
     [0] => object(User) 
     ['orderAverage'] => float 
[1] => 
     [0] => object(User) 
     ['orderAverage'] => float 

我想我的地方,出現了在沒有結果返回一個表達式DQL關鍵字讀,但我沒能找到它的文檔。它會是這樣的:

SELECT u, IGNORE (u.orderTotal/u.orderCount) AS orderAverage 
FROM ... 

這是否存在,或者我夢想?

回答

1

好吧,我終於設法找到它在EBNF documentation

正確的關鍵字是HIDDEN,並進入AS後:

SELECT u, (u.orderTotal/u.orderCount) AS HIDDEN orderAverage