2016-03-05 33 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) })