2016-03-05 120 views
1

讓我用簡單的例子來描述。Rails - 基於數組的數組ID和訂單查詢表

我有號碼的清單:

例如:list = [ 3, 1, 2 ]

和我在DB表名爲Products其中有3行與product_id = 123

現在我需要通過list(3,1,2)查詢Products排序這樣的結果將是:

product_3 product_1 product_2

查詢將是這樣的: product.sort(名單)或product.order (名單)或其他一些替代請

回答

1

這應該爲你工作:

list = [3, 1, 2] 

Product.where(product_id: list).sort_by { |p| list.find_index(p.product_id) })