【问题标题】:Groovy/Grails : How to sort the list of objects by idGroovy/Grails:如何按 id 对对象列表进行排序
【发布时间】:2013-10-16 07:52:51
【问题描述】:

公共培训班

class PublicTraining{
    static hasMany = [trainingOrder: TrainingOrder]
}

和 TrainingOrder 类

class TrainingOrder {
    Date createdOn

    static mapping = {
        sort id:"asc"
    }
}

如果我想获得所有培训订单

def orders = publicTrainingInstance.trainingOrder.sort()
println orders // [59,58] (id of orders)

没有排序的顺序

【问题讨论】:

  • 在您的 PublicTraining 域上,最好将其设为“static hasMany = [trainingOrders: TrainingOrder]”,这样,当您将其引用为 publicTrainingInstance.trainingOrders.sort{it.id} 时,您将清楚地看到您正在处理许多 trainingOrders,而不仅仅是一个。使代码更具可读性。

标签: list sorting grails groovy


【解决方案1】:

默认sort()Comparable 对象很有用。如果您的班级不是Comparable,请使用:

def orders = publicTrainingInstance.trainingOrder.sort { it.id }

该代码将使用传递的 id 进行排序。

请参阅文档:http://groovy.codehaus.org/groovy-jdk/java/util/Collection.html#sort()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-28
    • 2011-07-17
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多