Oli*_*.Bn 11 doctrine dql doctrine-orm
根据DDC-2204问题说明
[SELECT by Equals]可以通过在SELECT子句中包含条件,对其进行别名,然后使用它来支持.您可能需要使用"AS HIDDEN name"来防止它出现在结果中
以下DQL应该是可能的:
SELECT main.id = 1 AS test FROM Entity main ORDER BY test
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试这个(使用2.4)时,我得到了
Error: Expected Doctrine\ORM\Query\Lexer::T_FROM, got '='
Run Code Online (Sandbox Code Playgroud)
似乎开发人员建议的将条件放入SELECT的方法不起作用.这是一个错误和/或是否存在按条件选择和/或排序的另一种方式.
可以使用case语句:
SELECT (CASE WHEN main.id = 1 THEN 1 ELSE 0 END) AS test FROM Entity main ORDER BY test
| 归档时间: |
|
| 查看次数: |
461 次 |
| 最近记录: |