2016-12-08 8 views
0

У меня есть 2 модели, weekly_report и consult_stat и они организованы так:Rails 4: Соединения с отношением has_many

class ConsultStat < ActiveRecord::Base 
    belongs_to :weekly_report 
end 

class WeeklyReport < ActiveRecord::Base 
    has_many :consult_stats 
end 

атрибут на столе consult_stats является :consults, и я хочу, чтобы получить общее количество консультируется по заданному набору еженедельных отчетов.

Если я имею дело с 1 weekly_report, я могу сделать

WeeklyReport.find(x).consult_stats.sum(:consults) 

однако при попытке выбрать группу weekly_reports:

WeeklyReport.where("start_date > ?", "2016-11-01") 

и получить консультации сумму для их использования consult_stats joins Я продолжаю получать сообщение об ошибке.

+0

Какая ошибка? может быть, что ваша дата не отформатирована? –

ответ

0

То к this post я понял, что

  • weekly_report вырождена в соединениях (: weekly_report), потому что это belongs_to отношения
  • weekly_reports во множественном числе в том, где, потому что это имя таблицы

решений мой запрос:

ConsultStat.joins(:weekly_report).where("weekly_reports.start_date > ?", "2016-11-01")