您好,我正在尝试在呈现 json 文件之前在父子 Controller 中执行排序,但我不确定如何去做。这是我所拥有的(原始代码的摘录):
class Parent{
static hasMany = [children:Child]
String name
Date dateCreated
}
class Child {
static belongsTo = [parent:Parent]
String name
Date dateCreated
}
在我的 Controller .groovy 文件中我有:
def list(){
def result = Parent.listOrderByDateCreated(order: "desc")
.... more code ....
withFormat{
json {render result as JSON}
xml {render result as XML}
}
}
和上面的作品( parent 按创建日期排序)但我不确定如何按列表中创建的日期对所有 child 进行排序。
提前感谢您的帮助。我也在使用 Grails 2.3.2
最佳答案
一种方法是假设您始终希望子项按创建日期排序。将以下内容添加到您的父域:
static mapping = {
children sort: 'dateCreated'
}
另一种方法是在提取结果后进行排序:
def sortedChildren = parent.children.sort { it.dateCreated }
我不知道是否有更高级的“grailsier”方式通过查找器或标准来执行此操作。
关于grails - 在 Grails Controller 中对父子进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21004768/