我有两个型号
categories (id, name, ....)
users (id, name, ....)
categories_users (category_id, user_id)
我想拉出与用户数量相关的前5个类别。现在我使用category.users.count
来获取数字。有没有更聪明的方法来计算这个并获得最佳类别?
答案 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)