转义 grails 标准中的关联名称以不与包含 class 变量名称冲突
Escaping association name in grails criteria to not conflict with containing class variable name
这是我的 grails 域的简化版本 class:
class Car {
int year
Model model
List<Car> findCarsBySomeCriteria(int modelId) {
BuildableCriteria c = createCriteria()
List<Car> carList = (List<Car>) c.list {
'in'("year", [1998, 1999])
model {
eq("id", modelId)
}
}
carList
}
}
原来这个条件查询失败,因为查询中提到的 model
关联与 class.
的 model
属性 冲突
有什么方法可以在条件查询中转义 model
吗?
试试createAlias
,喜欢
List<Car> carList = (List<Car>) c.list {
'in'("year", [1998, 1999])
createAlias('model', 'mdl')
eq("mdl.id", modelId)
}
这是我的 grails 域的简化版本 class:
class Car {
int year
Model model
List<Car> findCarsBySomeCriteria(int modelId) {
BuildableCriteria c = createCriteria()
List<Car> carList = (List<Car>) c.list {
'in'("year", [1998, 1999])
model {
eq("id", modelId)
}
}
carList
}
}
原来这个条件查询失败,因为查询中提到的 model
关联与 class.
model
属性 冲突
有什么方法可以在条件查询中转义 model
吗?
试试createAlias
,喜欢
List<Car> carList = (List<Car>) c.list {
'in'("year", [1998, 1999])
createAlias('model', 'mdl')
eq("mdl.id", modelId)
}