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 模型上设置默认范围,因此目前它按版本列按升序排序,并且只有当两条记录相同时,它才按版本排序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 回答