我的rails应用程序中有一个请求,每次发出请求时都需要创建或更新嵌套记录。
Model.where(id: 1).events.first_or_create.increment!(:counter)
这很好用,但今天我需要对很多对象做同样的事情
Model.where(created_at: start..end).map{|m|
m.events.first_or_create.increment!(:counter)
}
我可以致电update_all('counter = counter + 1')
,但我无法确定每个模型是否都有相关事件,因此first_or_create
有没有办法改善这个电话?请记住一些请求选择超过5000条记录