我有两个型号Product和PricingHistory。
产品(id,name)has_many PricingHistory(id,percent_off,product_id)
我需要使用最新的PricingHistory加入Product并按百分比排序。
我写了这个:
Product.joins(:pricing_histories).group('products.id').order("max(pricing_histories.id) ASC").order('max(pricing_histories.percent_off) DESC')
但它没有按顺序返回数据。
例如: 产品:
ID PRODUCT
1 aa
2 bb
3 cc
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
答案 0 :(得分:0)
您可以按如下方式实现:
PricingHistory.joins(:product).group(' products.id')。order(' pricing_histories.percent_off DESC')