我有一个模型/对象,其日期属性为字符串,此代码为:
Model.all.group_by { |t| t.date }
这给我一个像{“06/11/2013”=> [对象5,对象17],“07/18/2013”=> [...],“05/02/2013 “=> [...]}(其中包含所有模型的属性)。
似乎没有按照这种方式按日期排序。事实上它几乎跳了起来。
我有办法添加
.order('date ASC')
在这里以某种方式,以便哈希按日期排序?
答案 0 :(得分:1)
如果你这样做
Model.all.group_by{ |t| t.date }.sort
然后你会得到排序结果,但它将是双数组。您可以将此数组转换为哈希值或相应地使用。
答案 1 :(得分:0)
您可以使用T-SQL CAST或CONVERT。
关于你的数据库(MySQL?)我认为这样可行:
Model.all.order('CAST(date AS TIMESTAMP) asc')
or
Model.all.order('CAST(created_at AS DATETIME) asc')
但是你的字符串格式应该是可转换的,否则你不能转换类型