如何基於另一個ID數組來訂購此活動記錄結果集?使用另一個ID數組對活動記錄結果集進行排序
我在我的ActiveRecord模型執行初始查詢:
results = Foo.first(5)
results.each do |r|
#do some stuff initially with these records.
#5 records returned with ids: 1, 2, 3, 4, 5
end
我然後做一些進一步的處理,這導致ID的另一個陣列:
desired_order_ids = [3,1,4,5,2]
我想通過Foo.id
在訂購results
由desired_order_ids
ID數組指定的順序。這個怎麼做?實際上,上述查詢將檢索1000條記錄,所以我正在尋找最有效的內存方式來執行此操作?
最有效的方式是在數據庫中進行排序,但你需要提供有關表格的更多信息,瞭解如何對數據進行排序以獲得有意義的答案。 – max
我同意你的看法,但我不想寫一篇文章來解釋後來的結論,即做一個數據庫分類不是一種選擇。簡而言之,我查詢檢索結果集,然後對該結果集執行一些統計迴歸分析,該結果集將專門應用於該結果集並且不能提前知道(因此不能存儲在數據庫中)。也許有一種方法可以在db中存儲,但我會說這是第一次讓它工作。 – joshweir