连接表的描述顺序

时间:2016-09-07 07:59:00

标签: ruby-on-rails ruby-on-rails-4

我有两个型号

categories (id, name, ....)
users (id, name, ....)
categories_users (category_id, user_id)

我想拉出与用户数量相关的前5个类别。现在我使用category.users.count来获取数字。有没有更聪明的方法来计算这个并获得最佳类别?

1 个答案:

答案 0 :(得分:2)

使用群组:

cate_ids = CategoryUser.select("count(user_id) as user_count, category_id").group("category_id").order("user_count desc").limit(5).map(&:category_id)
categories = Category.find(cate_ids)