我有评论、案例、案例步骤和任务表,其关系为:
评论型号:
belongs_to :commentable, polymorphic: true, counter_cache: true
案例型号:
has_many :case_steps, class_name: 'CaseStep', foreign_key: 'case_id', dependent: :destroy
has_many :tasks, through: :case_steps
案例步骤模型:
belongs_to :case, class_name: 'Case', foreign_key: 'case_id'
has_many :tasks, class_name: 'Task', foreign_key: 'case_step_id', dependent: :destroy
任务模型:
belongs_to :case_step, class_name: 'CaseStep', foreign_key: 'case_step_id'
所有三个表 case、case_steps 和 tasks 都有字段:comments_count
在我的案例索引页面上,我必须显示属于特定案例的所有 commnts_count 的计数。表示如果一个案例'Case1'有两个案例步骤'Case Step1'和'Case Step2'并且'Case Step1'有三个任务'Task1'、'Task2'和'Task3',并且'Case Step2'有两个任务'Task4' ' 和 'Task5' ,那么它应该显示所有表'Case1'、'Case Step1'、'Case Step2'、'Task1'、'Task2'和'Task3'、'Task4'和'的所有comments_count的计数任务 5'。
现在了解如何编写确切的查询以获取所有计数...尝试了很多。