Ruby on rails 在循环中按列分组
如何使用此查询按Ruby on rails 在循环中按列分组,ruby-on-rails,activerecord,ruby-on-rails-3.2,ruby-on-rails-4,Ruby On Rails,Activerecord,Ruby On Rails 3.2,Ruby On Rails 4,如何使用此查询按:key\u id分组(key\u id是报告表中的一列),该查询是名为Project self.reports.select{ |report| report.level <= 50} self.reports.select{| report | report.level您不想在这里对块使用select方法。原因是这是在数组上定义的方法,因此返回的是纯ruby数组,而不是关系对象。请改为: self.reports.where('level <= ?', 50).
:key\u id
分组(key\u id
是报告表中的一列),该查询是名为Project
self.reports.select{ |report| report.level <= 50}
self.reports.select{| report | report.level您不想在这里对块使用select方法。原因是这是在数组上定义的方法,因此返回的是纯ruby数组,而不是关系对象。请改为:
self.reports.where('level <= ?', 50).group(:key_id)
self.reports.where('level这应该可以做到:
self.reports.select{ |report| report.level <= 50 }.group_by(&:key_id)
self.reports.select{| report | report.level I获取此信息:列“reports.id”必须出现在GROUP BY子句中或在聚合函数中使用
-`select“reports”。*从“reports”中的“reports”开始,其中的“reports”。“project_id”=$1和(级别您需要在上述代码中添加select语句,以指定分组时对其他列执行的操作-例如,如果您只想对具有相同键id的元素进行计数,则需要添加“select”(“键id,计数(*)作为计数”)`