Rails 4:加入 has_many 关系
Posted
技术标签:
【中文标题】Rails 4:加入 has_many 关系【英文标题】:Rails 4: Joins with has_many relationship 【发布时间】:2016-12-08 17:44:42 【问题描述】:我有 2 个模型,weekly_report
和 consult_stat
,它们的组织方式如下:
class ConsultStat < ActiveRecord::Base
belongs_to :weekly_report
end
class WeeklyReport < ActiveRecord::Base
has_many :consult_stats
end
consult_stats 表上的一个属性是:consults
,我想检索给定每周报告集的咨询总数。
如果我要处理 1 个每周报告,我可以这样做
WeeklyReport.find(x).consult_stats.sum(:consults)
但是,当我尝试选择一组每周报告时:
WeeklyReport.where("start_date > ?", "2016-11-01")
并使用joins
检索他们的consult_stats 的咨询总和我一直收到错误。
【问题讨论】:
错误是什么?可能是您的日期没有格式化? 【参考方案1】:那就是this post我意识到了
weekly_report 在joins(:weekly_report) 中是单数,因为它是belongs_to 关系 weekly_reports 在 where 中是复数,因为它是表名提出我的问题:
ConsultStat.joins(:weekly_report).where("weekly_reports.start_date > ?", "2016-11-01")
【讨论】:
以上是关于Rails 4:加入 has_many 关系的主要内容,如果未能解决你的问题,请参考以下文章
如何将参数传递给 Rails 4 中的 has_many 关联范围?