2016-10-16 2 views
0

私は自分のコードを練習していましたが、すぐに '.order'メソッドが逆に動作することがわかりました。マイレールのバージョンが '5.0.0.1'アクティブレコードモデルのレールのバグ

私が好きそれを使用している:

(I)User.order(給与:DESC)1次回(3)

(ⅱ)User.order(給与::desc)。最初(3)

私は逆の結果を得ました。私はmysqlデータベースを使用しています。誰か私の間違いが本当にそれはレールの問題かどうかを教えてもらえますか?

+0

以下のような結果になります? –

答えて

0

昇順の結果を得る場合は、降順ではなく昇順で行う必要があります。次のコードは、昇順にsalaryをソートし、最初の3

User.order(salary: :asc).first(3)

あなたが降順で給与をソートします以下にコードを取得し、次に選択します最初の3

User.order(salary: :desc).first(3)

例:ソートされていない値[3、2、4、5、1]の配列が指定されています。以下のコードが実行された後、あなたは、いくつかの出力を投稿することができ
User.order(salary: :desc) >>>[5, 4, 3, 2, 1]
User.order(salary: :desc).first(3) >>>[5, 4, 3]
User.order(salary: :asc) >>>[1, 2, 3, 4, 5]
User.order(salary: :desc).first(3) >>>[1, 2, 3]

関連する問題