我正在计算遛狗应用程序的总“步行时间”。Walks 表有两个列,start_time 和 end_time。由于我想显示特定狗的所有步行的总超时时间,我应该能够将两列相加,从 start_time_totals 中减去 end_times_total,结果将是我的总超时时间。但是我得到了奇怪的结果。当我这样总结列时,
start_times = dog.walks.sum('start_time')
end_times = dog.walks.sum('end_time')
start_times 和 end_times 都返回相同的值。进行完整性检查,我发现我在数据库中的开始和结束时间确实按照我的预期设置(早上开始时间,下午结束时间),所以总和肯定会为每个返回不同的值的列。此外,每只狗的值都不同,并且与我期望的相对值一致,因此步行较多的狗比步行较少的狗返回更大的值。因此,看起来总和可能有效,只是以某种方式为每列返回相同的值。
顺便说一句,在开发 Rails 3.2.3、ruby 2.0、SQLite 中运行它。