2
嗨我有一个名为Sold Products的存储产品&架构的购买信息的表如下。组记录和获得每个组的轨道大小
id |username | product_id| timestamp
我有另一台产品的架构是
id | product_name | description
我想大多数销售的产品。如何获得积极的记录?请帮助。
嗨我有一个名为Sold Products的存储产品&架构的购买信息的表如下。组记录和获得每个组的轨道大小
id |username | product_id| timestamp
我有另一台产品的架构是
id | product_name | description
我想大多数销售的产品。如何获得积极的记录?请帮助。
两个这样做的方法...第一个比第二更轻松,更高效:
方法1:使用counter cache
class SoldProduct < ActiveRecord::Base
belongs_to :product, :counter_cache => true
end
然后你会添加一个sold_products_count
属性为Product
表,并使用它们找到它们:
Product.find(:all, :order => 'sold_products_count')
方法2:是否基于SQL
sales_count = Product.joins(:sold_products).count(:group=>"sold_products.product_id").sort_by{|product, sales| sales}.reverse
sales_count.each {|product, sales| puts "Product #{product} has #{sales} sales"}