我有一个用户模型和一个救赎模型。用户可以多次赎回。我想知道有多少用户做了一次赎回,2,3,.
用户模型
has_many :redemptions, foreign_key: :redeemed_by赎回模型
belongs_to :user, foreign_key: :redeemed_by我可以运行以下查询,并对每个用户进行赎回。
User.joins(:redemptions).group('redemptions.redeemed_by').count结果:
{185=>2, 187=>1, 2042=>4, 2544=>1} 这给了我每个用户赎回的数量。但我想要相反的。我想知道有多少用户做了1次赎回,多少次和继续.
我想通过Rails查询来实现这一点。
发布于 2020-02-12 14:31:47
你能做到的
User.joins(:redemptions)
.group('redemptions.redeemed_by').count
.group_by{|k,v| v}
.map{|k,v| [k, v.size]}.to_h返回
{1=>2,4=>2,5=>1}
其中1、4和5(键)是赎回次数,2、2、1(值)是多次赎回的用户数量。
https://stackoverflow.com/questions/60189416
复制相似问题