1

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

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

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

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

1 回答 1

0

如果你正确地定义了你的领域模型,你应该得到它而不涉及标准。据我了解,您需要static hasMany = [parts: Parts]在 Cars 域类和static belongsTo = [car:Cars]Parts 类中添加。

因此,例如,这里看起来可能是这样的:

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

}
于 2013-03-04T11:34:13.417 回答