按列对ActiveRecord对象数组进行排序

时间:2009-04-10 15:52:15

标签: ruby-on-rails activerecord

我需要按其中一列中的值对ActiveRecord对象数组进行排序,但我不确定如何执行此操作。

示例,我有一个Schedule模型,它有一个Duration列。然后我有两个Schedule对象OriginalList和NewList数组。我想按持续时间对每个列表进行排序。我想我正在寻找类似的东西: -

Schedule.find(:all, 
              :conditions => "schedule_id IN (select schedule_id from 
                                              #{array.each.schedule_id}",
              :order => 'duration')

然而,这看起来并不正确!甚至不在SQL !!

有关如何执行此操作的任何提示将不胜感激。

1 个答案:

答案 0 :(得分:1)

糟糕。忽略那个!通过写下来,我想出了我真正想做的事情。

Schedule.find(:all, :conditions => "schedule_id in ("1", "2", "3"), :order => "duration")

在调用之前可以从数组中生成1,2,3。

周五下午归咎于它! :d

相关问题