Я пытаюсь создать запрос, который выполняет следующее:
- Цель: показать общее количество посещений всех продуктов компании за каждый день этого месяца.
- Во-первых: мы находим всех пользователей, которые принадлежат любому @ company.product (у каждого пользователя есть product_id).
- Сумма всех посещений среди этих пользователей, сгруппированных по дням, за каждый из последних 30 дней.
- Чтобы представить эти суммы visit_count в виде строки из 30 значений, разделенных запятыми (23,26,21,63,21,42 и т. Д.) В представлении.
Пока (пока нет сумм):
#controller
@visits = User.group("date(created_at)").having("product_id IN (?) AND created_at > ?", @company.products.select("id"), 1.month.ago).order("created_at").select("visit_count")
# this simpler version causes error: undefined method 'empty?' for 2010-10-03 17:55:57 UTC:Time
@visits = User.group("created_at").having("date(created_at) > (?)", 1.month.ago)
#view:
<%= @visits.map(&:visit_count).join(",")
Приведенный выше запрос вызывает ошибку (3 аргумента по 2), но я пробовал много комбинаций, похожих на эту, и продолжаю получать ошибки. Я просто не слишком опытен с ActiveRecord. Как написать этот запрос? Большое спасибо.