diff --git a/app/controllers/project_categories_controller.rb b/app/controllers/project_categories_controller.rb index f6b3cbc9d..08ff0d61b 100644 --- a/app/controllers/project_categories_controller.rb +++ b/app/controllers/project_categories_controller.rb @@ -1,4 +1,5 @@ class ProjectCategoriesController < ApplicationController + before_action :re_total_count, only: [:pinned_index] def index # @project_categories = ProjectCategory.search(params[:name]).without_content q = ProjectCategory.ransack(name_cont: params[:name]) @@ -14,4 +15,11 @@ class ProjectCategoriesController < ApplicationController # projects = Project.no_anomory_projects.visible # @category_group_list = projects.joins(:project_category).group("project_categories.id", "project_categories.name").size end + + def re_total_count + # 未分类项目与其他放在一起 + other_category = ProjectCategory.find_by(name: "其它") + other_count = Project.where(project_category_id: [15,nil]).count + other_category.update(projects_count: other_count) + end end diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 0860e85f8..eb242475e 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -43,8 +43,7 @@ class ProjectsController < ApplicationController @total_count = if category_id.blank? && params[:search].blank? && params[:topic_id].blank? # 默认查询时count性能问题处理 - # ProjectCategory.sum("projects_count") - Project.visible.joins("left join organization_extensions on organization_extensions.organization_id = projects.user_id").where("organization_extensions.visibility =2").count - @projects.total_count + ProjectCategory.sum("projects_count") - Project.visible.joins("left join organization_extensions on organization_extensions.organization_id = projects.user_id").where("organization_extensions.visibility =2").count elsif params[:search].present? || params[:topic_id].present? @projects.total_count else