2012-03-20 34 views
5

Chúng tôi có một ứng dụng cũ, nơi mối quan hệ được định nghĩa như sau:Làm thế nào để biết ai là cha mẹ trong một mối quan hệ Grails hasMany?

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

class Doctor { 
    String name 
} 

Không có một mối quan hệ belongsTo quy định tại Doctor như chúng tôi không muốn để thác các xóa của một bác sĩ khi Practice bị xóa. Đây là một mã rất cũ và không muốn thay đổi nó.

Hiện tại, theo chức năng mới, người dùng nên biết Practice s số Doctor nào được liên kết trong khi xem chi tiết của Doctor. Bất cứ ai có thể giúp tôi biết đó là cách dễ nhất để đạt được điều này mà không làm thay đổi đối tượng miền?

+0

đừng quên đánh dấu câu trả lời là đã được chấp nhận! – dbrin

Trả lời

7

Nếu biến doctor chứa các bác sĩ bạn muốn liệt kê thông lệ từ, bạn có thể có được một danh sách các Practice đối tượng có bác sĩ này trong mối quan hệ bác sĩ của họ bằng cách phát hành các tiêu chuẩn sau truy vấn:

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

Wow! Điều đó thật đơn giản. Cảm ơn rất nhiều vì phản hồi nhanh. –

0

Just for kỷ lục

def practices = Practice.withCriteria { 
    doctors { 
    eq("id",doctor.id) 
    } 
} 
Các vấn đề liên quan