0

これが私のモデルです:

忍耐強い:

has_many :patient_records

PatientRecord:

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 に答える