2012-03-20 9 views
5

私たちは、関係は以下のように定義されている古いアプリケーションがあります。私たちはの削除をカスケードしたくないようDoctorで定義されたbelongsTo関係がありませんGrails hasMany関係の親は誰ですか?

class Practice { 
    String name 
    static hasmany = [doctors:Doctor] 
} 

class Doctor { 
    String name 
} 

を医者Practiceが削除されます。これは非常に古いコードであり、変更したくないコードです。

新しい機能によれば、Doctorの詳細を表示している間に、がリンクされています。ドメインオブジェクトを変更せずにこれを達成する最も簡単な方法は誰ですか?

+0

回答を受け入れたとマークするのを忘れないでください! – dbrin

答えて

7

変数doctorは、あなたからの慣行を一覧表示したい医師が含まれている場合は、次の基準のクエリを発行することにより、医師の関係で、この医師を持つPracticeオブジェクトのリストを取得することができます:ちょうどレコードの

def practices = Practice.withCriteria { 
    doctors { 
    idEq(doctor.id) 
    } 
} 
+0

うわー!それは簡単だった。迅速な対応に感謝します。 –

0

def practices = Practice.withCriteria { 
    doctors { 
    eq("id",doctor.id) 
    } 
} 
関連する問題