Rails 获得最多推荐的产品
Rails get most recommended product
我有:
Product
=> has_many :reviews
Review
有一个字段 recommendation:boolean
我需要检索具有最多 Review.recommendation:true
的产品
这里的最佳方法是什么?
产品也必须出现在给定的类别数组中。
我正在尝试这样的事情:
Product.joins(:reviews).where('category_id IN (?)', categories_ids).where(reviews: {recommendation: true}).group(:id)
谢谢。
这最终成为我的方法:
res = Product.joins(:reviews).where('category_id IN (?)', categories_ids).where(reviews: {recommendation: true}).group(:id).count
result = res.sort_by {|k,v| v}
id = result.last[0]
Product.find(id)
我有:
Product
=> has_many :reviews
Review
有一个字段 recommendation:boolean
我需要检索具有最多 Review.recommendation:true
的产品
这里的最佳方法是什么?
产品也必须出现在给定的类别数组中。 我正在尝试这样的事情:
Product.joins(:reviews).where('category_id IN (?)', categories_ids).where(reviews: {recommendation: true}).group(:id)
谢谢。
这最终成为我的方法:
res = Product.joins(:reviews).where('category_id IN (?)', categories_ids).where(reviews: {recommendation: true}).group(:id).count
result = res.sort_by {|k,v| v}
id = result.last[0]
Product.find(id)