Rails5在find_in_batches添加finish选项

这篇博客是Rails5系列的一部分

在Rails4.x里,在find_in_batches方法中有start选项,如下:

Person.find_in_batches(start: 1000, batch_size: 2000) do |group|
 group.each { |person| person.party_all_night! } 
end

上述代码为Person类提供了批次查询的功能,从主键1000开始查询。

上述代码中并没有主键结束值,这就是说主键大于等于1000都会被查询。

Rails5中引入了finish选项,此选项决定了查询主键值的上限。

Person.find_in_batches(start: 1000, finish: 9500,batch_size: 2000) do |group|
   group.each { |person| person.party_all_night! }

上述代码保证了我们的查询范围,主键值不会超过9500.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容