2012-08-02 83 views
0

這裏是我的模型:Rails 3的範圍內有多個型號

病人:

has_many :patient_records 

PatientRecord:

belongs_to :patient 
has_many :progress_reports 

ProgressReport:

has_one :patient_record 

查詢我想生產是爲了得到所有的人進度報告大於或等於7天后(在progress_reports中使用date_of_report列)的病人,同時包括或加入病人記錄表...我一直在研究這個問題很長時間,以至於我跑進了一堵磚牆。

回答

2

我會嘗試:

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

Patient模型

+0

謝謝您幫助過去幾天! – dennismonsewicz 2012-08-03 01:30:11

0
reports = ProgressReport.where(:created_at > 7.days.ago).all 
如果你想獲得屬於每個記錄每位患者

,做到:

reports.each do |r| 
    puts r.patient.name 
end