在我的应用程序中,我正在使用
phy = Physician.find(:all, :include => {:clinician_affiliations => :provider_organization}, :with_disabled => true).select{|physician| not physician.provider_organizations.blank? }.collect{|enum| [enum.display_name_schedule, enum.id]}
代码。当我运行代码时,它会执行 N+1 次。我确信这是 Rails 中 N+1 查询的问题。我需要在没有 N+1 的情况下简化此代码。
注意:clinicalian_affiliation 属于 provider_organization。(我使用的是 Rails 2.3)
class Clinician
.....
has_many :provider_organizations, :through => :clinician_affiliations
...
end
DB Physician 和 Provider_organizations 是派对表的类型。
类医师 < 临床医师