嗨,在给定的情况下
some_model_id = [1, 2, 3, 4]
some_model_id.each do |some_id|
SomeOtherModel.create(some_column: some_id)
end
这里
insert
查询将运行 n
次数取决于 some_model_id
尺寸有没有一种方法可以让我在单个查询中使用其他更好的方法来完成它。
最佳答案
ActiveRecord create 也可以采用insert 语句数组,它只会制定单个ActiveRecord 对象,但它仍然在数据库中执行多个insert 语句。引用以下代码
SomeOtherModel.create([{some_column: some_id}, {some_column: some_id}, {some_column:some_id}])
要一次插入多条记录,最好使用带有多个值的原始 SQL 插入命令。
关于ruby-on-rails - 我们可以在 Ruby on Rails ActiveRecord 的一个查询中插入多行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51061000/