From 20494971f2bdf261eb3d7d594d775dd3777c6b04 Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Wed, 18 Dec 2019 17:46:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B6=85=E7=AE=A1=E7=9A=84=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=97=A0=E6=B3=95=E6=8C=89=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=95=B0=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admins/schools_controller.rb | 2 +- app/queries/admins/school_query.rb | 1 + app/views/admins/schools/shared/_list.html.erb | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/controllers/admins/schools_controller.rb b/app/controllers/admins/schools_controller.rb index 7e1626d98..8c4f1d59e 100644 --- a/app/controllers/admins/schools_controller.rb +++ b/app/controllers/admins/schools_controller.rb @@ -5,7 +5,7 @@ class Admins::SchoolsController < Admins::BaseController schools = Admins::SchoolQuery.call(params) - @schools = paginate schools.includes(:user_extensions) + @schools = paginate schools school_ids = @schools.map(&:id) @department_count = Department.where(school_id: school_ids).group(:school_id).count diff --git a/app/queries/admins/school_query.rb b/app/queries/admins/school_query.rb index 888cded97..3206f0858 100644 --- a/app/queries/admins/school_query.rb +++ b/app/queries/admins/school_query.rb @@ -17,6 +17,7 @@ class Admins::SchoolQuery < ApplicationQuery if keyword schools = schools.where('schools.name LIKE ?', "%#{keyword}%") end + schools = schools.left_joins(:user_extensions).select('schools.*, IFNULL(count(user_extensions.user_id),0) users_count').group('schools.id') custom_sort schools, params[:sort_by], params[:sort_direction] end end \ No newline at end of file diff --git a/app/views/admins/schools/shared/_list.html.erb b/app/views/admins/schools/shared/_list.html.erb index ff0b17992..dd0a054e3 100644 --- a/app/views/admins/schools/shared/_list.html.erb +++ b/app/views/admins/schools/shared/_list.html.erb @@ -33,7 +33,7 @@ <%= school.province %> <%= school.city %> <%= school.address %> - <%= school.user_extensions.count %> + <%= school.users_count %> <%= @department_count.fetch(school.id, 0) %> <%= school.created_at&.strftime('%Y-%m-%d %H:%M') %>