【问题标题】:Sort a rails query based on array order根据数组顺序对 Rails 查询进行排序
【发布时间】:2014-12-03 16:08:34
【问题描述】:

我想根据数组中的值对 ActiveRecord 查询进行排序。比如:

@fruits=Fruit.where(seeds: true)._________________________

假设我想使用数组 ['Red','Blue','Yellow'] 按颜色对结果进行排序

我看到 SQL 支持使用 case 语句进行自定义排序的地方,Rails 是否有使用此功能的东西?

【问题讨论】:

标签: mysql sql ruby-on-rails activerecord


【解决方案1】:

如果您使用的是 MySQL,则可以使用 FIELD。它看起来像:

@fruit = Fruit.where(seeds: true).order("FIELD(color, 'Red', 'Blue', 'Yellow')")

【讨论】:

  • (假设颜色列名为color
猜你喜欢
  • 2019-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多