Reputation: 8616
I want to order entities returned from a Doctrine query on a calculated scalar value. Something like this in simplified DQL:
SELECT a, SOMEFUNC(a.foo,a.bar) AS b
FROM MyStuff:Thing a
ORDER BY b
The ordering works, but I don't actually want the scalar value b
, it's just for sorting; I only want Thing
entities back.
However with this query each result returned would be an array with the root object I want at [0]
and then the redundant scalar value at [1]
. This makes perfect sense, but it's not what I want and I don't know how to ask Doctrine to ignore the value.
How is this kind of ordering supposed to be done with Doctrine? How do I perform this ordering without selecting?
Upvotes: 0
Views: 222
Reputation: 7745
Use the AS HIDDEN
clause:
SELECT a, SOMEFUNC(a.foo,a.bar) AS HIDDEN b
FROM MyStuff:Thing a
ORDER BY b
Source : https://speakerdeck.com/asm89/what-is-new-in-doctrine?slide=19
Upvotes: 2