在轨道上的红宝石上过滤和分类

时间:2013-03-29 03:45:05

标签: sql ruby-on-rails ruby rails-activerecord

我正在使用以下ActiveRecord查询,我不确定这是否是正确的做事方式。

我有一个我需要过滤和排序的模型。

Match.where("host_id = #{self.id} OR guest_id = #{self.id}").order('week asc')

然后转换为:

SELECT "matches".* FROM "matches" WHERE (host_id = 1 OR guest_id = 1).

这让我相信在数据库级别没有进行排序。

有没有办法强制它在数据库级别进行排序而不必编写显式SQL查询?

在数据库中进行排序还是在结束后进行排序是否更好?

1 个答案:

答案 0 :(得分:0)

使用sort / sort_by方法或尝试 Match.where("host_id = #{self.id} OR guest_id = #{self.id} ORDER BY week ASC") 使用.to_sql