grails - 在 Grails Controller 中对父子进行排序

标签 grails groovy grails-domain-class grails-controller

您好,我正在尝试在呈现 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/

相关文章:

ide - 如何在 IDE 中使用 Grails 依赖缓存?

rest - grails-spring-security-rest插件和悲观锁定

Jenkins dsl 管道 def 变量

grails - 如何在Java服务层访问Grails域类?

java - 通过 GSP 和 Groovy 代码在表单或文本区域、textForm 中显示文本值

java - Grails UnitTest 确保 BigDecimal 不是字符串

eclipse - M2E 在导入现有 maven 项目时未将 Groovy 源添加到 .classpath

grails - grails 中 find() 和 findWhere 的区别

grails - Grails错误PatchedDefaultFlushEventListener

grails - 将类从一个inplacePlugin导入到另一个inplacePlugin Grails