我是铁杆新手。
有这个问题。我有两个型号客户和订单。 客户 has_many 订单,订单 belongs_to 客户。每个订单都有一个货币价值:成本。
现在,我如何根据他/她的所有订单花费的总成本对客户进行排名?
非常感谢您的帮助!
答案 0 :(得分:0)
您需要使用分组来累计每个客户的订单。然后,您可以按总数排序。
http://guides.rubyonrails.org/active_record_querying.html#group有一个类似于你正在做的例子。
答案 1 :(得分:0)
你可以做类似下面的事情
Customer.joins(:orders).select('customers.id, sum(orders.cost) as total_order_cost').order("total_order_cost")
如果您希望按降序使用order("total_order_cost desc")