我有以下域类(仅尝试显示获取想法所需的内容):
class Scholarship {
static hasMany = [grades:Grade]
}
和
class Grade {
String id
String description
}
我想说的话,"获得相关grade_id = myId"的所有奖学金。我想使用grails域类而不是使用sql来实现这一点。任何帮助表示赞赏
答案 0 :(得分:2)
你在找这样的东西吗?...
def results = Scholarship.withCriteria {
grades {
// myId must be defined somewhere above...
idEq myId
}
}
修改强>
下面的评论会增加原始问题,并询问如果表达另一种关系会是什么......
class Scholarship {
static hasMany = [grades:Grade,majors:Major]
}
我上面显示的查询仍然完全相同。除非您想要将majors
的某些属性包含在标准的一部分中,否则存在Major
集合的事实将无关紧要,这可能看起来像这样......
def results = Scholarship.withCriteria {
grades {
// myId must be defined somewhere above...
idEq myId
}
majors {
// only return Scholarship instances which
// contain a Major with the name 'Mechanical Engineering'
eq 'name', 'Mechanical Engineering'
}
}
我希望有所帮助。