我正在尝试在Grails中编写一个查询来从域类返回一组结果,但在这些结果中返回具有主类的parentId的单独类的相关结果。
def query = Cars.where {
(colour == 'red')
}
然后在每个列表项中包含与该CAR ID相关的部分集合(作为我想要实现的示例,我知道代码是不正确的......
query.each{
this car. add(Parts.whereCarID{it.id})
}
答案 0 :(得分:0)
如果您正确定义了域模型,则应该在没有涉及标准的情况下获取它。
据我了解,您需要在Cars域类中添加static hasMany = [parts: Parts]
,在Parts类中添加static belongsTo = [car:Cars]
。
例如,这里看起来如何:
class Cars {
string colour
static hasMany = [parts:Parts]
// ... rest of your properties
}
class Parts {
static belongsTo = [car:Cars]
// ... rest of your properties
}
要获得结果,请执行以下操作:
def cars = Cars.findAllByColour('red')
然后你可以这样做:
cars.each { car->
println car.parts // <-- all the parts for each car is here
}