Doctrine orm 原则:选择使用等于不接受的语句

Doctrine orm 原则:选择使用等于不接受的语句,doctrine-orm,doctrine,dql,Doctrine Orm,Doctrine,Dql,根据哪个州 通过在SELECT子句中包含条件、对其使用别名,然后使用它来支持[Order by With Equals]。您可能需要使用“作为隐藏名称”来防止它出现在结果中 以下DQL应该是可能的: SELECT main.id = 1 AS test FROM Entity main ORDER BY test 然而,当我尝试这个(使用2.4)时,我得到了 似乎开发人员建议的将条件放入SELECT的方法不起作用。这是否是一个错误和/或是否有其他方式选择和/或按条件排序。如果我正确理解了该文章

根据哪个州

通过在SELECT子句中包含条件、对其使用别名,然后使用它来支持[Order by With Equals]。您可能需要使用“作为隐藏名称”来防止它出现在结果中

以下DQL应该是可能的:

SELECT main.id = 1 AS test FROM Entity main ORDER BY test
然而,当我尝试这个(使用2.4)时,我得到了


似乎开发人员建议的将条件放入SELECT的方法不起作用。这是否是一个错误和/或是否有其他方式选择和/或按条件排序。

如果我正确理解了该文章,我不确定,但它似乎是指在order by子句中使用条件:

SELECT main.id AS test FROM Entity main ORDER BY test = 1

可以使用
case
语句:


选择(main.id=1时为1,否则为0结束)作为实体主订单的测试。。。这在理论上不起作用,而提议的解决方案——将其放在选择条款中——显然也不起作用。我发现:
SELECT main.id AS test FROM Entity main ORDER BY test = 1