【发布时间】:2010-08-05 21:14:59
【问题描述】:
请你帮忙看看下面的例子:
class Car {
static hasMany = [cd:Cd, fluffyDice:FluffyDice, wheel:Wheel]
}
class Wheel{
static belongsTo = [car:Car]
}
如何强制汽车至少有一个轮子?
【问题讨论】:
请你帮忙看看下面的例子:
class Car {
static hasMany = [cd:Cd, fluffyDice:FluffyDice, wheel:Wheel]
}
class Wheel{
static belongsTo = [car:Car]
}
如何强制汽车至少有一个轮子?
【问题讨论】:
您可以使用minSize 约束。请注意,您需要初始化集合。通常你不会——Grails 会为你做这件事——但是对于 null 集合不会触发约束:
class Car {
Set wheels = []
static hasMany = [wheels: Wheel]
static constraints = {
wheels minSize: 1
}
}
我将wheel 重命名为wheels,因为它是一个集合并且复数名称更自然,尤其是在添加元素时,例如汽车.addToWheels(new Wheel(...)).但这对功能没有影响。
【讨论】:
这将强制至少有一个轮子,否则将抛出异常
class Car {
List wheels
static hasMany = [cds:Cd, fluffyDice:FluffyDice, wheels:Wheel]
}
【讨论】: