Grails GORM查询多个对象?

时间:2013-03-02 15:01:12

标签: grails gorm

我正在尝试在Grails中编写一个查询来从域类返回一组结果,但在这些结果中返回具有主类的parentId的单独类的相关结果。

    def query = Cars.where {
        (colour == 'red') 
    }

然后在每个列表项中包含与该CAR ID相关的部分集合(作为我想要实现的示例,我知道代码是不正确的......

    query.each{ 
          this car. add(Parts.whereCarID{it.id})
     }

1 个答案:

答案 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

}