ruby-on-rails - 可以通过某些词来订购吗?

标签 ruby-on-rails ruby-on-rails-4 sql-order-by

我有一个 Project具有属性 status 的模型.

status可以保存为以下值之一:Ongoing , Completed , Scheduled .

是否可以对带有 status 的记录进行排序? Scheduled 的值先来,Ongoing第二和Completed最后?

二阶子句将在每个状态段内按时间顺序排列项目。

最佳答案

这将根据您的需要返回按 status 列排序的记录:

Project.order('case projects.status
  when 'Scheduled' then 0
  when 'Ongoing' then 1
  when 'Completed' then 2
end')

关于ruby-on-rails - 可以通过某些词来订购吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20801671/

相关文章:

ruby-on-rails - 使用载波获取gif中的第一张图像

ruby-on-rails - 从表单中选择枚举以设置角色

ruby-on-rails - rails YAML : NOT NULL constraint failed in joining table

mysql - 使用日期对组使用子查询计算索引位置

ruby-on-rails - 在 ruby​​ 中创建逗号分隔的 csv 文件

ruby-on-rails - Rspec 2 - --使用guard格式化html

mysql - SQL ORDER BY 多列

mysql - 慢内连接顺序查询

ruby-on-rails - 简化/RESTify 我的路线(2)!

ruby-on-rails - Time_ago_in_words 不起作用