加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – ActiveRecord查找全部不按ID排序?

发布时间:2020-12-16 20:33:54 所属栏目:百科 来源:网络整理
导读:我在Heroku部署中有一个奇怪的问题,我似乎不能在本地重复.基本上,当我发现所有在一个特定的模型,而不是按ID排序,似乎没有任何命令返回它们. 通常记录如下: Model.all= [model id: 2,model id: 1,model id: 3,model id: 4,model id: 5] … 等等. 如果我明确
我在Heroku部署中有一个奇怪的问题,我似乎不能在本地重复.基本上,当我发现所有在一个特定的模型,而不是按ID排序,似乎没有任何命令返回它们.

通常记录如下:

>> Model.all

=> [<model id: 2>,<model id: 1>,<model id: 3>,<model id: 4>,<model id: 5>]

… 等等.

如果我明确地调用Model.order(“id ASC”),它将按预期的方式返回模型.

是什么赋予了?为什么会发现所有的对象都没有以递减的ID顺序返回?

解决方法

默认情况下,ID的排序不能保证,因为取决于非有序查询是如何被排序的(通常是未指定的).您可以通过在模型顶部定义一个 default scope来使其始终如此:
default_scope { order('id ASC') }

然后调用Model.all将等效于调用Model.order(‘id ASC’).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读