我正在使用以下 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 查询?
排序是在数据库中进行还是在它被拉过来之后进行?