分组DataMapper记录,然后在这些组中进行排序

时间:2013-11-11 19:57:33

标签: ruby orm ruby-datamapper

我有记录,我想这样排序:

         Status       Date
Frank   STATUS_A   Jan 1, 2013
Jenny   STATUS_A   Feb 2, 2013
Alice   STATUS_A   Mar 3, 2013
Bob     STATUS_B   Jan 1, 2013
Zeke    STATUS_B   Feb 12, 2013
Harry   STATUS_B   Apr 4, 2013

Status组合在一起,然后按每个组中的Date排序。

无法弄清楚如何在ruby DataMapper中执行此操作。

我尝试过类似的事情:

Person.all(:fields => [:status], :unique => true, :order => [:date.asc])

但得到了:

DataMapper::ImmutableError - Immutable resource cannot be lazy loaded

我也尝试过:

Person.all(:order => [:status]).all(:order => [:date])

这会使初始状态分组正常,但第二个日期排序不会限制在每个状态组中。

1 个答案:

答案 0 :(得分:1)

希望这有效:

Person.all(:order => [:status, :date])