我有3个域名: 1)用户 2)简介 3)医生
1)医生扩展用户 2)用户hasOne个人资料class User {
String username
String password
static hasOne = [profile: Profile]
}
class Profile {
String fullName
String address
String cellno
}
class Doctor {
String workLocation
String specialization
}
如何编写GORM查询以根据专业化列出所有医生,workLocation
列出姓名profile.fullName
?
答案 0 :(得分:0)
自Doctor
扩展User
以来,我假设Doctor
域类看起来像这样:
class Doctor extends User {
String workLocation
String specialization
}
您可以使用GORM查询获取Doctor
个实例的列表,如下所示:
def location = 'someWorkLocation'
def spec = 'someSpecialization'
def doctors = Doctor.withCriteria {
eq 'specialization', spec
eq 'workLocation', location
}.list()
上述查询使用eq()
方法指定WHERE条件。如果您想要全名而不是Doctor
个实例,则需要进行投影:
def names = doctors.withCriteria {
eq 'specialization', spec
eq 'workLocation', location
projections {
profile {
property 'fullName'
}
}
}
投影基本上是查询的SELECT部分。