在我的应用程序中,我想查看我的用户的平均纸张使用权重,该权重注册到Heavy
类。
user
模型has_many :papers
和paper
模型belongs_to :user
这是我到目前为止所得到的:@heavy_users_testing = User.where(industry_type: 'Heavy').joins(:papers).where("papers.paper_type = 'Officepaper'").pluck(:paper_weight)
我不确定在active record .average
的哪个位置可以获得重类别用户的平均办公纸重量?
有人可以告诉我吗?
答案 0 :(得分:3)
您可以在avg
pluck
功能
@heavy_users_testing = User.where(industry_type: 'Heavy')
.joins(:papers)
.where(papers: { paper_type: 'Officepaper' } )
.pluck('avg(paper_weight)')
如果您需要/需要EACH用户的平均值,您需要执行group
@heavy_users_testing = User.where(industry_type: 'Heavy')
.joins(:papers)
.where(papers: { paper_type: 'Officepaper' } )
.group(:user_id)
.pluck('avg(paper_weight)')