Я составляю отчет, который показывает статистическую информацию о продуктах для компании, которая владеет этими продуктами.Этот отчет в нужной мне форме содержит до 150 «подсчетов», потому что мы заполняем таблицу подсчетами для 12 типов продуктов по 15 различным статистическим категориям.
Вот набор моделей,Боюсь, это немного сложно!
Company is the entity accessing the report.
Company has many Products through Matchings; and
Product has many Companies through Matchings.
Matching belongs_to Order.
Example report:
___________|_Available/Active/Light Available/Active/Heavy (+12 columns)__
Perishable |
Intangible |
(+10 rows) |
Типы продуктов указаны в таблице «Продукт» (они располагаются в левой части отчета).Категории в верхней части отчета представляют собой комбинации трех критериев: два из продукта и один из заказа.
Пример - для одной ячейки в строке скоропортящихся продуктов покажите, сколько существует совпадений, для которых тип заказа «активный», вес продукта «легкий» и статус продукта'available'.
Сам по себе вышеуказанный запрос не так уж и плох, но если я продолжу в том же духе, у меня будет ~ 170 запросов для этого отчета - и неэффективное, и крайне непрактичное решение.Есть ли волшебный способ ActiveRecord справиться с этим сценарием?