[英]Grails Domain: How to access parent domain data?
我有一个父子域结构,并且我想访问子域中的父域数据作为验证器。 例如,在下面的代码示例中,child1具有变量“ name”,出于验证目的,我需要child2数据。
我该如何解决这种情况?
我有这样的域结构:
class Parent{
Child child1
Child child2
static mapping = {
child1 lazy:false
child2 lazy:false
}
}
class Child{
String name
// some other variables
static belongsTo = [parent:Parent]
static constraints = {
name(nullable:true,validator:{val, obj ->
if(obj.parent){
return true
}
return false
})
}
}
我尝试了this.parent.child2
但发现父级为null。
编辑:
更改:
static belongsTo = [parent:Parent]
还添加了验证器:
if(obj.parent){ return true } return false
仍然返回假。
更换
static belongsTo = [Parent]
同
static belongsTo = [parent: Parent]
所以孩子知道他的父母
要以@bassmartin的答案为基础,请查看文档中的自定义验证器。 您的验证器应声明(至少)两个参数,其中第二个是对象实例:
validator: { val, obj ->
//obj.parent is what you're looking for
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.