grails-使用多个belongsTo,但一次只能使用一个
如果我想将域类(例如MoneyTransaction)用于两个完全不同的目的,即: 1) 当客户下订单时 2) 当一名会员获得报酬时 这样我就有了:grails-使用多个belongsTo,但一次只能使用一个,grails,gorm,Grails,Gorm,如果我想将域类(例如MoneyTransaction)用于两个完全不同的目的,即: 1) 当客户下订单时 2) 当一名会员获得报酬时 这样我就有了: class Order { static hasMany = [transactions: MoneyTransaction] } class Member { static hasMany = [payments: MoneyTransaction] } 及 然后本质上,一次只使用一个belongsTo/association,这
class Order {
static hasMany = [transactions: MoneyTransaction]
}
class Member {
static hasMany = [payments: MoneyTransaction]
}
及
然后本质上,一次只使用一个belongsTo/association,这是非常“标准”的用法,还是我需要切换这个模型?目前,MoneyTransaction具有信用卡和ACH支付功能,因为两者都可以申请订单。对于付款,仅使用ACH部分 根据您的需求,您发布的域类定义似乎是正确的。我在这里要做的一个修改是添加一个自定义验证器,以确保order和member不同时为null
static constraints = {
order(nullable: true, validator: {field, inst -> inst.member || field})
member(nullable: true)
}
我想你是想摆脱那些属于你的东西。否则,你将有一个多对多的关系,我不相信你想要感谢,也为提供额外的约束。
static constraints = {
order(nullable: true, validator: {field, inst -> inst.member || field})
member(nullable: true)
}