是否可以使用查询?
按嵌套属性进行排序我有2个域类:
class Parent {
String name
Child child
}
和
class Child {
String name
static belongsTo = [parent: Parent]
}
这有效:
Parent.where {}.list(sort: 'name')
而这不是:
Parent.where {}.list(sort: 'child.name')
我有一个错误:
could not resolve property: child.name of: Parent
我使用的是grails 2.3.x
答案 0 :(得分:10)
请参阅:Grails - sort by the domain relation attribute (using createCriteria())
解决方案1:
def criteria = Child.createCriteria();
println criteria.list{
createAlias("parent","_parent")
order( "_parent.name")
}
解决方案2:
def criteria = Child.createCriteria();
println criteria.list{
parent {
order("name")
}
}
解决方案3:
class Child {
String name
static belongsTo = [parent: Parent]
public String getParentName(){
return parent.getName()
}
}
println Child.listOrderByParentName()
希望它有所帮助。