0

在我的应用程序中,我正在使用

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 是派对表的类型。

类医师 < 临床医师

4

1 回答 1

1

我认为这应该有效

Physician.find(:all, :include => :provider_organizations)
于 2013-05-28T11:27:05.560 回答