0

这是我的模型:

病人:

has_many :patient_records

病历:

belongs_to :patient
has_many :progress_reports

进度报告:

has_one :patient_record

我正在尝试生成的查询是在包含或加入患者记录表的同时获取所有progress_reports 大于或等于7 天的患者(使用progress_reports 中的date_of_report 列)...我一直在为此工作这么久,我撞到了一堵砖墙。

4

2 回答 2

2

我会尝试:

scope :recent_patients, lambda 
{ |since_when| join(:progress_reports)
  .where("progress_reports.created_at >= ?", since_when)}

在你的Patient模型中

于 2012-08-02T04:01:32.147 回答
0
reports = ProgressReport.where(:created_at > 7.days.ago).all

如果要获取属于每个记录的每个患者,请执行以下操作:

reports.each do |r|
   puts r.patient.name
end
于 2012-08-02T03:51:46.363 回答