2016-05-16 3 views
1

Я работаю над проектом, который построен с использованием Symfony и Doctrine, однако я все еще новичок во всей установке.Порядок по FIELD() с использованием доктрины, возможно ли это?

Сокращение длинной истории. Мне нужно заказать результирующий набор по порядку массива, используемого в выборе.

Который, я считаю, может быть выполнен с использованием функции FIELD(), однако из моих исследований это не похоже на возможность использования Doctrine.

Например, я озадачен о том, как я могу использовать поле() в запросе, как показано ниже (если ее вообще возможно):

return $this 
      ->createQueryBuilder('a') 
      ->where('a.identifier IN (:identifiers)') 
      ->setParameter('identifiers',$identifiers) 
      ->getQuery() 
      ->getResult(); 
+1

Кажется, вы могли бы использовать DoctrineExtensions в [регистр FIELD() в качестве пользовательского метода] (http://stackoverflow.com/a/10164133/1078488). Обратите внимание, что использование расширений может нарушить совместимость для других типов RDBS. – JimL

+0

[Проблема XY] (https://meta.stackexchange.com/questions/66377). – eggyal

+0

Я рад принять любое решение, это были только мои первоначальные мысли. – cosmicsafari

ответ

0

Я использую доктрину версию 1.2.4 и используя следующий запрос порядок по определенным значениям.

$query->orderBy('FIELD(str,str1,str2,str3,...)'); 

 Смежные вопросы

  • Нет связанных вопросов^_^