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’). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |