Задать вопрос
@aaltw

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

Есть массив с id:
ids = ["4", "1", "3", "2"]
По нему выбираются записи из базы:
@users = User.where(id: ids)
Но они достаются в порядке, в котором лежат в базе.

Как сохранить порядок, который передается в where?

Т.е:
# Получаю сейчас
User.where(id: ids) # User1, User2, User3, User4

# Хочу получить
User.where(id: ids) # User4, User1, User3, User2
  • Вопрос задан
  • 162 просмотра
Подписаться 2 Простой 10 комментариев
Помогут разобраться в теме Все курсы
  • Code Basics
    Ruby для начинающих
    1 месяц
    Далее
  • Skillbox
    Ruby on Rails с нуля
    10 месяцев
    Далее
  • Хекслет
    Разработчик на Ruby on Rails
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
etspring
@etspring
Начитанное быдло
Выучить ruby и юзать sort_by
User.where(id: [2,3,1]).sort_by { |user| [2,3,1].index(user.id) }
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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