hasmany で持っている子テーブルのカラムを親のレコードごとに集計したいのですが
子レコードがない場合に集計結果が存在せずエラーになります
該当のプログラム
@campaigns = Campaign.includes(:user_campaigns).where(ad_user_campaigns: {id: nil}) .group(:ad_campaign_id) .select('ad_campaigns.*') .select('sum(dtc_count) as dtc_sum') .select('sum(imp_count) as imp_sum') puts @campaigns[0].dtc_sum
エラーメッセージ
undefined method `dtc_sum' for #<Ad::Campaign:0x007fb6488a2040>
Rails が 4.2 で left_join が存在しないため LEFT JOIN のやり方は
https://qiita.com/snaka/items/3137cf5920a5ec0c4022
を参考にしたのですが
子レコードがない場合に 0 になるような集計は
ActiveRecord でどうかけばいいのでしょうか
あなたの回答
tips
プレビュー