PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Ruby on Rails:Existe alguma maneira de extrair itens do banco de dados e devolvê-los em uma ordem especificada?


Você pode fazer com que o banco de dados faça a classificação e evite vários index chamadas, basta lembrar que um SQL ORDER BY ordena por uma expressão , não uma coluna :
whens = item_ids.collect.with_index { |id, i| "when #{id} then #{i}" }.join(' ')
items = Item.where(:id => item_ids).order("case id #{whens} end")