0

如何:key_id使用此查询进行分组(key_id是报告表中的一列),并且该查询是模型中的一种方法,称为Project

self.reports.select{ |report| report.level <= 50}
4

2 回答 2

1

这应该可以解决问题:

self.reports.select{ |report| report.level <= 50 }.group_by(&:key_id)

.group_by(&:key_id)是一种简洁的说法.group_by{ |report| report.key_id }

于 2013-11-13T12:17:16.353 回答
0

您不想在此处使用带有块的 select 方法。原因是这是在数组上定义的方法,因此返回的是纯 ruby​​ 数组,而不是关系对象。而是这样做:

self.reports.where('level <= ?', 50).group(:key_id)
于 2013-11-13T12:16:29.540 回答