我有以下数组(例如):
array = [234,675,11,233,99]
我运行类似以下ActiveRecord查询:
User.where(id: array)
返回的数组将随机排序。
但是,我希望返回的结果基于原始数组的顺序(即id = 234为first,id = 99为last)。
我可以在数组上循环并触发5个单独的查询,有没有更好的方法呢?
答案 0 :(得分:2)
重复:
ActiveRecord.find(array_of_ids), preserving order
基本上代码应该是:
User.find(ids).order(“field(id,#{ids.join(',')})”)