0
У меня был массив пользователей и массив из них id. Мне нужно создать хэш с {name => id}, но с порядком массива id. В качестве примера, когда я писал:Rails order hash по значениям и массиву
keys = [5, 3, 2, 4, 1]
users = User.all.where(id: keys).pluck(:name, :id).to_h
Это вернуть мне {"User_1"=>2, "User_2"=>3, "User_3"=>4, "User_4"=>5, "User_0"=>1}
Но я должен получить такую вещь:
{"User_4"=>5, "User_2"=>3, "User_1"=>2, "User_3"=>4, "User_0"=>1}
Есть ли возможность была такой хэш где операции?
Как вы можете видеть, мой ключи массив имеет значения [5, 3, 2, 4, 1] 4 Пребывание после 2. –
я не заметил. И я боюсь, что вы не получите результат, который вам нужен в одном простом запросе, из-за сортировки на уровне db –
Может быть, проще найти какое-нибудь обходное решение? Например, добавление столбца позиции в таблицу –