所以我试图在0到6周(星期日 - 星期六)的那一天排序,但我希望星期一先行。因此,在我的数据库中,我存储星期日的第一天是0,但是我可以对星期一进行排序吗?
所以这将是1,2,3,4,5,6,0。这可能或者我应该以不同方式存储我的数据吗?只存储它,因为这是Date :: DAYNAMES索引一周的日期。
现在我有类似的东西:
TimeModel.order(:day_of_week)
如果我想要星期天,那么这很好。
答案 0 :(得分:1)
您可以在PostgreSQL中执行此操作以订购表的特定值:
TimeModel.order('CASE WHEN day_of_week = 0 THEN 7 ELSE day_of_week END')
这是PostgreSQL语法中的一个简单的switch case语句。
答案 1 :(得分:1)
我不知道如何在Ruby中执行此操作,但SQL查询很简单:只需排序
(day_of_week + 6) % 7
其中%
是模数运算。