mysql - Activerecord中如果order字段全部相同,是否有默认顺序?

标签 mysql ruby-on-rails activerecord

我已经为此苦苦挣扎了一段时间。我有一个包含许多项目的文档模型

class Document < ActiveRecord::Base
  has_many :items, dependent: :destroy, order: 'weight ASC'
  ...
end

如您所见,我通过权重字段(默认为 0 的整数)对子项进行排序。我的问题是,当所有的重量都相同时,在大多数情况下, children 看起来像是按 ID 排序的,但在少数情况下却不是,看起来很随机。当订单字段具有相同值时,是否有特定的顺序?

谢谢。

最佳答案

我也有同样的经历。有时结果不会按 id 的顺序排序。更好的是,还添加 id 订单。

class Document < ActiveRecord::Base
  has_many :items, dependent: :destroy, order: 'weight ASC, id ASC'
  ...
end

关于mysql - Activerecord中如果order字段全部相同,是否有默认顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21676843/

相关文章:

mysql - 如何在 mysql 中进行原子更新和选择查询?

php - 如何在 Codeigniter 模型中打印存储过程查询?

mysql - 从 Rails 中的事件记录中获取特定列值

c++ - 想在 Qt 中存储配置文件,使用 SQLite 或其他东西?

sql - 同一天创建的记录数

mysql - 使用 2 个选择优化 SQL 查询

php - SQL 查询失败且没有错误消息

jquery - 使用 Ransack 、 Rails 4 将多个搜索表单结果合并为一个

ruby-on-rails - 尝试从 OS X 上的 Rails 连接到 Oracle 时出错

ruby - 动态创建一个继承自ActiveRecord的类?