안녕하세요 Grails에 새로운 오전과 나는 다음과 같은 시나리오에 Grails의 도메인 클래스를 정의하는 방법에 대한 귀하의 전문가 조언을 추구하고자하는 개체를 정의하는 방법 :Grails의 도메인 관계
- 구매자 많은 살 수를 items
- 배달에는 많은 항목이 포함될 수 있습니다. 일부 항목은 나중에 배달되기 때문에 구매자가 구매 한 모든 항목이 반드시 필요한 것은 아닙니다.
- 배송은 구매자가 구매하지 않은 새 항목을 포함 할 수 없습니다.
한 구매자가 많은 항목
에게 많은 배달에게 많은 항목을 가질 수 있습니다한 전달을 할 수 있습니다
한 구매자를 가질 수 있습니다 :
그래서 다음과 그들 사이의 관계입니다
도메인 클래스를 이와 같이 정의했습니다. 그러나 그 결과. 전문가가 내가 잘못한 것을 지적 할 수 있습니까? 정말 고맙습니다!
class Buyer {
static constraints = {
}
String buyerName
static hasMany = [purchases : GoodsPurchased]
}
class GoodsPurchased {
static constraints = {
delivery nullable:true
}
String goodsName
static belongsTo = [ buyer: Buyer, delivery : Delivery ]
}
class Delivery {
static constraints = {
}
Date deliveryDate
static belongsTo = [ buyer : Buyer ]
static hasMany = [ purchases : GoodsPurchased ]
}
배달에는 구매자가 구매 한 항목이 하나 이상있을 수 있습니다. 모든 품목이 배달에 필요한 것은 아니기 때문입니다. 도메인 클래스에서 이전에 구매자가 구매 한 품목 만 배달에 포함될 수 있다고 정의하는 방법은 무엇입니까? Grails에서 어떻게 제한을가합니까?
무엇이 문제인지 알지 못하지만 –
의 말을하기가 어렵습니다. 왜 여기에 '구매자'에게 속한 '배송'이 있는지 확실하지 않습니다. –
Andy를 찾아 주셔서 대단히 감사합니다. 미안하지만 전에는 분명하지 않았습니다. 구매자가 몇 가지 품목을 구매하면 품목은 시간이 지남에 따라 인도됩니다. 따라서 각 배송에는 이전에 구매자가 구매 한 품목 만 포함될 수 있습니다. 내 문제는 어떻게 내가 그 grails - 아마도 외래 키 또는 뭔가를 통해 그 제한을합니까? – YSL