繁体   English   中英

取得记录栏之间差异的最佳方法是什么

[英]What is the best way for getting difference between records' column

我有一个模型CounterRecord并有data列。 记录清单:

r1.data = 10
r2.data = 12
r3.data = 15
r4.data = 20

我想获得当前记录与先前记录[10,2,3,5]之间的差异。 Rails是否具有默认方式?

我不认为RailsActiveRecord有这样的东西,但是只需一点点红宝石就可以轻松实现:

CounterRecord.pluck(:data).each_with_index.map { |c,i| a[0] == c ? c : (a[i-1].to_i - c).abs }

滑轨是否具有默认方式?

没有。


可能的解决方案:

CounterRecord.pluck(:data).each_cons(2).map { |first, second| second - first }

注意:如果有大量记录,这将很容易杀死您的记忆。

没有默认的方法可以这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM