OrderBy не работает с псевдонимом в доктрине Symfony2

Что мне нужно

мне нужно сортировать псевдоним.

код 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»: Ошибка: «Приоритеты» не определены.

Любое предложение приветствуется.

0

Решение

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

Что касается основных баз данных, мы можем использовать псевдоним столбца в порядке по предложению. Так что проверь свой интерфейс.

Если не поддерживается, используйте выражение CASE в порядке по выражению, как показано ниже

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

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector