这是一个菜鸟级别的问题。
我有两个模型:通过表格图表加入的患者和提供者。
我使用了关联“has_many :through”而不是“has_and_belongs_to_many”,因为我需要在图表表中添加另一列 [称为patient_mrn],我知道我无法使用“has_and_belongs_to_many”场景。
患者模型具有:
has_many :charts
has_many :providers, :through => :charts
提供者模型具有:
has_many :charts
has_many :patients, :through => :charts
并且图表模型具有:
belongs_to :patient
belongs_to :provider
我试图在 Patient 模型上调用 where 方法来检索所有具有以下条件的患者:
- 该患者的图表连接表中的 provider_id 等于给定值 [@exam.provider_id] 和
- 该患者的 Chart 连接表中的 patient_mrn 等于给定值 [@exam.patient_mrn]。
这是我想尝试的,但它显然不起作用。我会误入歧途吗?
@patient = Patient.where(:patient.chart[provider_id] => @exam.provider_id,
:patient.chart[patient_mrn] => @exam.patient_mrn)