0

次の 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 クエリを記述せずに、データベース レベルで強制的に並べ替える方法はありますか?

並べ替えはデータベースで行うのと、プルオーバーした後で行うのとではどちらがよいですか?

4

1 に答える 1

0

sort / sort_by メソッドを使用するか Match.where("host_id = #{self.id} OR guest_id = #{self.id} ORDER BY week ASC") 、.to_sql を使用してみてください

于 2013-03-29T07:25:20.693 に答える