OrderBy无法在符号symfony2中使用别名

时间:2018-07-05 06:39:23

标签: php oracle case symfony-2.8

我需要

  

我需要排序别名。

symfony代码

$qb->addSelect("(CASE WHEN  (priority LIKE  '%High%') THEN 1
       WHEN  (priority LIKE '%Medium%') THEN 2

       ELSE 3 END) AS  prioritys ");

排序代码

       priority  column name of view/table.

       prioritys  is alias.

      $qb->orderBy('priority','ASC');   //works because here im accessing column from table/view.

      $qb->orderBy('prioritys','ASC');   //doesnot works.

使用别名错误

  

错误:[语义错误]行0,列173在“优先级ASC”附近,:错误:未定义“优先级”。

任何建议都是最欢迎的。

1 个答案:

答案 0 :(得分:0)

$qb->orderBy('prioritys','ASC');   // it should work, check symfony2 doc.

根据主要数据库,我们可以在order by子句中使用列别名。因此,请检查您的前端。

如果不支持,则在CASE表达式中按如下所示的子句使用

ORDER BY CASE WHEN priority LIKE '%High%' THEN 1 WHEN priority LIKE '%Medium%' THEN 2 ELSE 3 END