1

SELECT順序付けのみに使用される式を含む DQL クエリがあります。

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

これまでのところ、 Doctrine は式による順序付けをサポートしていないため、このトリックを使用する必要があります。

それは問題なく動作します。この質問の範囲外の理由で、getResult()uによってのみ返されることを期待してください。

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

uandを含むネストされた配列ではありませんorderAverage:

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

結果に式を返さないための DQL キーワードがあることをどこかで読んだと思ったのですが、ドキュメントで見つけることができませんでした。次のようになります。

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

それは存在しますか、それとも私は夢を見ましたか?

4

1 に答える 1

1

わかりました、私は最終的にEBNF documentationでそれを見つけることができました.

正しいキーワードはHIDDEN, で、 の後に続きASます:

SELECT u, (u.orderTotal / u.orderCount) AS HIDDEN orderAverage
于 2012-10-18T07:14:35.467 に答える