如何使用此查询按:key_id
进行分组(key_id
是报表中的一列),该查询是名为Project
的模型中的方法
self.reports.select{ |report| report.level <= 50}
答案 0 :(得分:1)
这应该可以解决问题:
self.reports.select{ |report| report.level <= 50 }.group_by(&:key_id)
.group_by(&:key_id)
简洁明了.group_by{ |report| report.key_id }
答案 1 :(得分:0)
你不想在这里使用带方块的select方法。原因是这是一个在数组上定义的方法,因此返回纯ruby数组,而不是关系对象。而是做:
self.reports.where('level <= ?', 50).group(:key_id)