我有一个用户表和一个订单表。一个用户可以拥有多个订单。
用户表:
| id | username | email |
-------------------------
| .. | .... | ..... |
-------------------------
订单表:
| id | user_id | price |
------------------------
| .. | ..... | .... |
------------------------
如何按照后代顺序按订单数量对用户进行排序?
现在我能想到的是:
@users = User.order('orders.count desc').all
但这似乎不正确。有人可以帮忙吗?提前谢谢。
答案 0 :(得分:1)
谢谢你们!我刚刚从这个网站找到答案:http://chibicode.com/order-posts-by-comments-count-in-rails/
我添加此代码:
User.joins(:orders).group("users.id").order('count(orders.id) desc').all
它就像魔法一样。 =))