ruby-on-rails – 如何使用activerecord和POSTGRES平均产品评论
发布时间:2020-12-17 02:43:32 所属栏目:百科 来源:网络整理
导读:假设我有一张包含100个产品评论的表格.每个评论都有一个“id”,“product_id”和“得分”.现在,我想要做的是提供每个产品的平均分数……那么有没有办法使用Rails来查询数据库呢?我肯定必须有,但我无法弄清楚.我希望发生以下情况: Toyota Corolla 70%Toyota
假设我有一张包含100个产品评论的表格.每个评论都有一个“id”,“product_id”和“得分”.现在,我想要做的是提供每个产品的平均分数……那么有没有办法使用Rails来查询数据库呢?我肯定必须有,但我无法弄清楚.我希望发生以下情况:
Toyota Corolla 70% Toyota Camry 78% Toyota Avalon 80% ..显然基于对每个平均值的多个评论,但以上述方式呈现. 更新: 对那些对解决方案感兴趣的人 这是在控制器中: @ordered_hash = Review.group('aidmodel_id').average('score') @keys = @ordered_hash.keys @reviews = Review.where(:aidmodel_id=>@keys).uniq_by {|x| x.aidmodel_id} 这是在视图中: <% @reviews.each do |review| %> <%= review.aidmodel.id %> <%= @ordered_hash[review.aidmodel_id] %> <% end %> @ordered_hash [review.aidmodel_id]行提供具有所需ID的援助模型的平均分数. 解决方法
你可以混合
average和
group来做类似的事情
MyClass.group('product_id').average('score') # => {product_id1 => average1,product_id2 => average2,... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |