在rails中查找...如何汇总具有匹配键的多个记录中的所有值?
例如,我有一个航班和值班日志,用户可以存储飞行或工作的时间。我正在使用hstore存储这些k / v对。每天将创建一个职责日志。如果用户日复一日地在同一架飞机上记录时间......我需要能够做到这样的事情:
Dutylog.where(user_id: current_user).where("(properties -> '206B')::float > 0.0")
# properties is the hstore hash
这会找到所有正确的记录......但是,我无法总结所有值为“206B”的值。
你会怎么做?
答案 0 :(得分:4)
它在文档中......但是文档并不容易理解......至少对我而言。这是一个解决方案:
Dutylog.where("(properties -> '206B')::float > 0.0").sum("(properties -> '206B')::float")