Rails 5 用户任务数排名
Rails 5 ranking of users by number of tasks
我有 2 个模型用户和任务
User -> has_many :tasks
Task -> belongs_to :user
我想按任务数量对用户进行排名
预期输出:
[['jhon', 120],['peter', 115],['mary', 101],....]
我的尝试:
User.left_joins(:tasks).group(:id).order('count(tasks.id)').limit(20) ---> not working, can't get the user name
将您的查询更新为
User.left_joins(:tasks).group(:id).select('users.name, count(tasks.id) as tasks_count').order('tasks_count DESC').limit(20).map{ |user| [user.name, user.tasks_count] }
我有 2 个模型用户和任务
User -> has_many :tasks
Task -> belongs_to :user
我想按任务数量对用户进行排名
预期输出:
[['jhon', 120],['peter', 115],['mary', 101],....]
我的尝试:
User.left_joins(:tasks).group(:id).order('count(tasks.id)').limit(20) ---> not working, can't get the user name
将您的查询更新为
User.left_joins(:tasks).group(:id).select('users.name, count(tasks.id) as tasks_count').order('tasks_count DESC').limit(20).map{ |user| [user.name, user.tasks_count] }