繁体   English   中英

在Grails控制器中对父子进行排序

[英]Sorting Parent and Child in Grails Controller

嗨,我正在尝试在渲染json文件之前在父级和子级的控制器中执行排序,但是我不确定该怎么做。 这是我所拥有的(原始代码的节选):

class Parent{
    static hasMany = [children:Child]
    String name
    Date dateCreated
}

class Child {
    static belongsTo = [parent:Parent]
    String name
    Date dateCreated
}

在我的控制器.groovy文件中,我有:

def list(){
    def result = Parent.listOrderByDateCreated(order: "desc")
    .... more code ....

    withFormat{
        json {render result as JSON}
        xml {render result as XML} 
    }
}

和上面的作品(父项按创建日期排序),但我不确定如何按列表中创建的日期对所有子项进行排序。

提前谢谢你的帮助。 我也在用Grails 2.3.2

一种方法是假设您始终希望子项按dateCreated排序。 将以下内容添加到您的父域:

static mapping = {
  children sort: 'dateCreated'
}

另一种方法是在提取结果后进行排序:

def sortedChildren = parent.children.sort { it.dateCreated }

如果不存在通过发现者或条件进行更高级的“ grailsier”方法,我不知道。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM