10

ログから取得しているIDの並べ替え(およびページ付け)で検索しようとしている間:

SELECT `audits`.* FROM `audits` ORDER BY version, id DESC LIMIT 50 OFFSET 0

私は現在このコードを使用しています:

@records = Audit.order("id DESC").page(page).per(50)

問題は、取得されたリストがIDの降順で正しくソートされていないことです。

ところで、私は監査にaudited-activerecord gemを使用していますが、これは重要ですか?

4

3 に答える 3

20

あなたのgemは、バージョン順に並べ替えるAuditモデルにデフォルトのスコープを設定していると思います。したがって、現時点では、バージョン列の昇順で並べ替えられており、2つのレコードが同じ場合にのみ、次の順序で並べ替えられます。降順のID。

これを修正するunscopedには、チェーンの前に追加します。

Audit.unscoped.order("id DESC").page(page).per(50)
于 2012-06-15T20:11:32.717 に答える
7

試す:

@records = Audit.except('order').order("id DESC").page(page).per(50)

except('order')クエリに追加された順序関係を削除する必要があります

于 2012-06-15T20:08:55.337 に答える
0
Audit.descending.page(page).per(50)

ソースからの参照

于 2016-08-11T08:25:12.820 に答える