0
我有醫生的表,醫生們doctor_id,hospital_id,DEPT_ID範圍與多個條件
我怎樣寫一個範圍,我可以說:選擇所有誰具有相同的hospital_id相同的dept_id作爲當前的doctores doctor_id但不包括該電流doctor_id
我有醫生的表,醫生們doctor_id,hospital_id,DEPT_ID範圍與多個條件
我怎樣寫一個範圍,我可以說:選擇所有誰具有相同的hospital_id相同的dept_id作爲當前的doctores doctor_id但不包括該電流doctor_id
這是作爲一個範圍:
class Doctor < ActiveRecord::Base
def self.other_docs_in_dept(doc)
Doctor.where(dept_id: doc.dept_id)
.where(hospital_id: doc.hospital_id)
.where("id != #{doc.id}")
end
end
...但是這可能會爲您提供更好的實例方法:
class Doctor < ActiveRecord::Base
def other_docs_in_dept
Doctor.where(dept_id: dept_id)
.where(hospital_id: hospital_id)
.where("id != #{id}")
end
end
謝謝!還有一個問題。如果每個醫生在doctor_profiles中都有個人資料。我如何通過預先加載檢索所有用戶配置文件。 – 2012-02-17 21:54:56
如果Doctor'has_one:profile'那麼[**'.includes(:profile)'**](http://guides.rubyonrails.org/active_record_querying.html#eager-loading-associations) – Mori 2012-02-17 22:54:19
@Mori關於類方法'self.other_docs_in_dept':如果'doc'爲'nil',則該方法會引發'RuntimeError'。 – JJD 2013-09-08 20:30:55