ruby-on-rails - 如何让 ActiveRecord 在 Ruby on Rails 中显示下一个 id(最后一个 + 1)?

标签 ruby-on-rails activerecord

如果一个对象要保存到数据库中,ActiveRecord 是否有一种紧凑的方式来查询接下来要使用的 id?在 SQL 中,这样的查询类似于:

SELECT max(id) + 1 FROM some_table;

最佳答案

这里是稍作修改的Taryn East的版本:

Model.maximum(:id).next
# or
Model.calculate(:maximum, :id).next

来源:

#maximum @ ActiveRecord::Calculations

#next @ Integer

关于ruby-on-rails - 如何让 ActiveRecord 在 Ruby on Rails 中显示下一个 id(最后一个 + 1)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2755622/

相关文章:

ruby-on-rails - 如何启用 `request` on Rails 模块

ruby-on-rails - Guard with RSpec on Rails 4 发出大量警告

ruby-on-rails - ActiveRecord,validates_uniqueness_of :name not catching non-uniquness if I have a capitalize method

ruby-on-rails - 对象集合的 Rails 模型类方法

ruby-on-rails - Activerecord 返回匹配数组中所有属性的对象

ruby-on-rails - Rails使用悬停功能截断

ruby-on-rails - 用 Searchkick on Rails 做一个专业术语 "more like this query"?

ruby-on-rails - ActiveRecord 对象数组上的 Ruby Array#sort_by 似乎很慢

activerecord - yii2事件字段模板

ruby-on-rails - 运行 LargeHadronMigrator add_column 期间出现 Mysql 错误 "Lock wait timeout exceeded; try restarting transaction"