我有以下域类(仅试图展示获得想法所需的内容):
class Scholarship {
static hasMany = [grades:Grade]
}
和
class Grade {
String id
String description
}
换句话说,我想“获得关联的grade_id = myId的所有奖学金”。我想使用 grails 域类而不是使用 sql 来完成此任务。任何帮助表示赞赏
最佳答案
您正在寻找这样的东西吗?...
def results = Scholarship.withCriteria {
grades {
// myId must be defined somewhere above...
idEq myId
}
}
编辑
下面的评论添加了原来的问题,并询问如果像这样表达另一种关系会怎样......
class Scholarship {
static hasMany = [grades:Grade,majors:Major]
}
我上面显示的查询仍然完全相同。除非您希望将 Major
的某些属性也包含在条件中,否则存在 majors
集合的事实并不相关,它可能看起来像这样。 ..
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'
}
}
希望对您有所帮助。
关于grails - 如何根据某些关联获取对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26980460/