查找带有 ids 的记录并保持与 ids 数组中相同的顺序

Mar*_*iwa 0 ruby ruby-on-rails ruby-on-rails-4

我有 ids 数组ids = [5,2,1,6]

我想找到具有这些 id 的所有记录并保持与ids数组中相同的顺序。

常规records = Product.find(ids)不保留此顺序(不确定,但可能按 id 排序)。

Gag*_*ami 6

尝试这个:

ids = [5,2,1,6]
records = Product.find(ids).index_by(&:id).values_at(*ids)
Run Code Online (Sandbox Code Playgroud)