我有一個表A(:name, :address, :country_id)
。我運行這個查詢排序Rails的活動記錄
ids = [1,2,3]
@result = A.where(country_id: ids)
但是,我想要得到結果在這個順序:records containing country_id = 2 first, then 1 and then 3
。
應該如何我寫這篇文章的查詢?
編輯:
@people = []
@result.each do |r|
@people.push([r,r.name])
end
我現在@people數組的數組,並希望排序。現在應該是什麼查詢?
另一個編輯:
@people.sort_by! {|p| preferred_order.index(p.first.country_id)}
這個工作。
需要更多信息:你爲什麼要這樣做?總是有3個結果? – Dan
有很多結果。我想以這樣的順序顯示結果,即包含country_id = 2的行先顯示,然後是1,然後是3 – Hellboy