Commit 55d9501f by liyijie

fix: 修改ransak statistic

parent 223c176f
...@@ -185,14 +185,8 @@ class SimpleController::BaseController < ::InheritedResources::Base ...@@ -185,14 +185,8 @@ class SimpleController::BaseController < ::InheritedResources::Base
# 执行sub_q # 执行sub_q
def ransack_paginate(association) def ransack_paginate(association)
if params[:group_keys].present? if params[:group_keys].present?
statistics_association = association.unscope(:order).distinct
if defined?(Com::CounterStorage) && params[:group_keys].count > 1
hash = statistics_association.group(params[:group_keys]).count.merge(count: statistics_association.count)
@statistics = Com::CounterStorage.load(params[:group_keys], hash).group_count(*params[:group_keys])
else
@statistics = statistics_association.group(params[:group_keys]).count.merge(count: statistics_association.count) @statistics = statistics_association.group(params[:group_keys]).count.merge(count: statistics_association.count)
end end
end
association = association.ransack(params[:q]).result unless self.class.instance_variable_get(:@ransack_off) || params[:q].blank? association = association.ransack(params[:q]).result unless self.class.instance_variable_get(:@ransack_off) || params[:q].blank?
association = association.ransack(params[:sub_q]).result unless self.class.instance_variable_get(:@ransack_off) || params[:sub_q].blank? association = association.ransack(params[:sub_q]).result unless self.class.instance_variable_get(:@ransack_off) || params[:sub_q].blank?
...@@ -241,8 +235,13 @@ class SimpleController::BaseController < ::InheritedResources::Base ...@@ -241,8 +235,13 @@ class SimpleController::BaseController < ::InheritedResources::Base
association = end_of_association_chain association = end_of_association_chain
if params[:group_keys].present? if params[:group_keys].present?
statistics_association = association.unscope(:order).distinct statistics_association = association.unscope(:order).distinct
if defined?(Com::CounterStorage) && params[:group_keys].count > 1
hash = statistics_association.group(params[:group_keys]).count.merge(count: statistics_association.count)
@statistics = Com::CounterStorage.load(params[:group_keys], hash).group_count(*params[:group_keys])
else
@statistics = statistics_association.group(params[:group_keys]).count.merge(count: statistics_association.count) @statistics = statistics_association.group(params[:group_keys]).count.merge(count: statistics_association.count)
end end
end
association = association.ransack(params[:sub_q]).result unless self.class.instance_variable_get(:@ransack_off) || params[:sub_q].blank? association = association.ransack(params[:sub_q]).result unless self.class.instance_variable_get(:@ransack_off) || params[:sub_q].blank?
association = association.distinct unless self.class.instance_variable_get(:@distinct_off) || !association.respond_to?(:distinct) association = association.distinct unless self.class.instance_variable_get(:@distinct_off) || !association.respond_to?(:distinct)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment