2015-11-04 50 views
0

這是我在我的情態的關係,我想轉換成軌道4,5轉換梁2關係到Rails 4

has_many :members_family, :class_name => 'Patient', :finder_sql => %q(
    SELECT DISTINCT patients.* 
    FROM patients 
    WHERE id = #{parent_patient_id.to_i} OR parent_patient_id = #{id} 
) 

我試着像下面

has_many :members_family, :class_name => 'Patient', -> {where('id = ? or parent_patient_id = ?', parent_patient_id.to_i, id)} 

,但它不工作,請幫助我。

+0

請解釋不工作。 – Pavan

回答

2

動態條件在​​關聯名稱後面第二個。然後是其他選項。

您還需要參考塊中的實例。

has_many :members_family, -> (object) {where('id = ? or parent_patient_id = ?', object.parent_patient_id.to_i, object.id)}, :class_name => 'Patient' 
+0

謝謝,它現在正在工作。 –