我很努力地理解group
如何在Rails中工作。目前並沒有真正出現任何好的教程要麼...Rails + postgres:在has_many上使用Group查詢通過
class Doctor
has_many :appointments
has_many :patients, through: :appointments
end
class Appointment
has_many :doctors
has_many :patients
end
class Patient
has_many :appointments
has_many :doctors, through: :appointments
end
的Doctor
類有一個字段primary_doctor
。 A patient
可以有許多doctors
,但只有一個primary_doctor
。
給出了具體的doctor
,我想那個醫生看到所有patients
的列表,由primary_doctor
每個patient
分組。
doctor.patients.joins(:appointments).where(appointments: { is_primary: true }).group("patients.id, appointments.doctor_id")
是我覺得應該工作,但不做任何分組。如果我添加一個.count
到最後,它幾乎給我我想要的,但不是實際的對象,我得到了一個散列{doctor_id=>patient_count}
。
想法?謝謝!
我想你需要在分組後選擇你需要的字段。 – Alfie