ruby-on-rails - Model.first 不从表中检索第一条记录

标签 ruby-on-rails ruby-on-rails-3 activerecord

Model.first 不会从表中检索第一条记录。相反,它从表中检索任何随机记录。

eg:
   Merchant.first
    Query
    SELECT "merchants".* FROM "merchants" LIMIT 1
   => <Merchant id: 6, merchant_name: "Bestylish", description: "", description_html: "" >


Instead the query should be
  SELECT "merchants".* FROM "merchants" ORDER BY "merchants"."id" ASC LIMIT 1;


Why it doesnot retrive the first record

最佳答案

Model.first 将使用数据库的默认排序。 例如。在 Postgresql 中默认排序不一定是一个 id。

关于ruby-on-rails - Model.first 不从表中检索第一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18828381/

相关文章:

ruby-on-rails - 从 lib/中的文件获取 rails 中的当前请求

ruby-on-rails - 语法错误 : (irb):26: both block arg and actual block given

mysql - 优化 Rails 4/ActiveRecord/MySQL 中的删除操作

postgresql - find_or_create_by - id = nil 当记录存在时

ruby-on-rails - 迁移 : change column from integer to string

ruby-on-rails - Ruby中->速记的含义

ruby-on-rails - 将局部变量添加到 respond_to 渲染 View

facebook - Devise + Facebook + Omniauth 回调卡住了

ruby-on-rails-3 - Rails 3 验证唯一性忽略模型上的默认范围

ruby-on-rails - 如何检测浏览器类型及其版本