Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails-具有ID数组和基于数组的顺序的查询表_Ruby On Rails_Ruby On Rails 4_Rails Activerecord - Fatal编程技术网

Ruby on rails Rails-具有ID数组和基于数组的顺序的查询表

Ruby on rails Rails-具有ID数组和基于数组的顺序的查询表,ruby-on-rails,ruby-on-rails-4,rails-activerecord,Ruby On Rails,Ruby On Rails 4,Rails Activerecord,让我用简单的例子来描述 我有一个数字列表: 例:list=[3,1,2] 我在数据库中有一个名为Products的表,它有3行product\u id=1,2和3 现在我需要查询产品按列表排序值(3,1,2),结果如下: 产品3 产品1 产品2 查询结果如下: product.sort(列表)或product.order(列表)或其他替代产品,请参见以下内容: list = [3, 1, 2] Product.where(product_id: list).sort_by { |p| list

让我用简单的例子来描述

我有一个数字列表:

例:
list=[3,1,2]

我在数据库中有一个名为
Products
的表,它有3行
product\u id
=
1
2
3

现在我需要查询
产品
列表排序
(3,1,2)
,结果如下:

产品3 产品1 产品2

查询结果如下:
product.sort(列表)或product.order(列表)或其他替代产品,请参见以下内容:

list = [3, 1, 2]

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