reaferon
@reaferon

Как получить результаты выборки в том порядке, в каком заданы условия?

В запросе select есть условие
...
->andWhere(['in', 'product.id' , [2,21,3,64,38,35]])
->all();

Какой должен быть ->orderBy(), чтобы записи возвращались именно в порядке 2,21,3,64,38,35
Если orderBy не задать, то сортируется по id ASC.
--------
UPD: меня подвело отсутствие Expression, так работает:
->orderBy([new \yii\db\Expression('FIELD (id, 2,21,3,64,38,35)')])
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
@PapaStifflera
Родился, вырос...
Зависит от сервера БД.
Для MySQL: гуглите ORDER BY FIELD()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега Yii
Добрый вечер.
А обязательно сортировать по id? Может по другому полю сортировка Вас устроит?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы