我正在使用以下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查询?
在数据库中进行排序还是在结束后进行排序是否更好?
答案 0 :(得分:0)
使用sort / sort_by方法或尝试 Match.where("host_id = #{self.id} OR guest_id = #{self.id} ORDER BY week ASC")
使用.to_sql