私は現在、このようなものが機能しています:
period_registration = PeriodRegistration.count(:conditions => ["created_at >= ?", 30.days.ago.to_date], group: "date(created_at)")
しかし、私はこのようなことをしたいです:
period_registration_product = PeriodRegistration.count(:conditions => ["created_at >= ?", 30.days.ago.to_date], group: "period_id.product")
これを行うと、period_registration_productに何も返されません。Period_Registrationモデルにproduct_idがある場合、製品で並べ替える最良の方法は何ですか?
アップデート:
@period_registration_product = PeriodRegistration.joins(:period).where("date(created_at) >= ?", 30.days.ago.to_date).group("periods.product_id").count
結果:
SQLite3::SQLException: ambiguous column name: created_at: SELECT COUNT(*) AS count_all, periods.product_id AS periods_product_id FROM "period_registrations" INNER JOIN "periods" ON "periods"."id" = "period_registrations"."period_id" WHERE (date(created_at) >= '2012-07-25') GROUP BY periods.product_id
どのcreated_atを確認するか、または指定する必要がありますperiod
かperiod_registration
?