Ruby on rails 按折扣百分比订购产品
我有两个模型产品和价格历史 Productid,name有多个PricingHistory id,折扣百分比,product id 我需要加入具有最新价格历史的产品,并以%的折扣订购 我写道:Ruby on rails 按折扣百分比订购产品,ruby-on-rails,ruby,postgresql,Ruby On Rails,Ruby,Postgresql,我有两个模型产品和价格历史 Productid,name有多个PricingHistory id,折扣百分比,product id 我需要加入具有最新价格历史的产品,并以%的折扣订购 我写道: Product.joins(:pricing_histories).group('products.id').order("max(pricing_histories.id) ASC").order('max(pricing_histories.percent_off) DESC') 但它并没有按顺序返
Product.joins(:pricing_histories).group('products.id').order("max(pricing_histories.id) ASC").order('max(pricing_histories.percent_off) DESC')
但它并没有按顺序返回数据
例如:
产品:
PricingHistory
PRODUCT_ID PERCENT_OFF CREATED_ON
1 10 10/10/2015
1 20 10/11/2015
2 30 10/12/2015
2 40 10/13/2015
3 50 10/14/2015
3 60 10/14/2015
我希望结果是:
ID PRODUCT PRODUCT_ID PERCENT_OFF CREATED_ON
1 aa 1 20 10/11/2015
2 bb 2 40 10/13/2015
3 cc 3 60 10/14/2015
您可以通过以下方式实现这一点:
PricingHistory.joins:product.group'products.id'。订购'pricing\u history.percent\u off DESC'所有产品都有一个唯一的id,因此按products.id分组没有任何用处。也许你指的是定价历史。产品id?@MaxWilliams我也试过了,但仍然没有得到预期的结果。
ID PRODUCT PRODUCT_ID PERCENT_OFF CREATED_ON
1 aa 1 20 10/11/2015
2 bb 2 40 10/13/2015
3 cc 3 60 10/14/2015