Nếu tôi có một lớp Miền khách hàng và Khách hàng đó có nhiều khóa học. Làm cách nào để tìm khóa học tôi đang tìm? Ví dụ:Grails: Làm thế nào tôi có thể tìm kiếm thông qua các trẻ em trong mối quan hệ hasMany?
class Client {
String name
static hasMany = [courses:Course]
}
class Course {
String name
static belongsTo = [client:Client]
}
def client = Client.get(1)
Tôi muốn "tìm" hoặc "tìm kiếm" trong mối quan hệ khóa học đó. Có thể một cái gì đó như:
client.courses.find(name:'Whatever')
Có cách nào để làm điều này với Grails không?
là phương pháp này tốt hơn phương pháp tiếp theo? –
Nó phụ thuộc vào trường hợp sử dụng của bạn. Bạn thực sự nên tránh sử dụng các liên kết nếu nó có thể phát triển mà không có giới hạn, nhưng đối với các hiệp hội giới hạn trong một vài thực thể (<10?) Điều này có lẽ sẽ làm tốt cho rất nhiều trường hợp sử dụng. – Kimble
Tôi khuyên bạn nên đóng gói mã tìm kiếm trong một phương thức dịch vụ hoặc trong chính lớp miền (như một phương thức getter) để bạn có thể dễ dàng thử các triển khai khác nhau trong một điểm chuẩn với dữ liệu trong thế giới thực. – Tobia