Groovy/Grails:如何按 id 对对象列表进行排序
Posted
技术标签:
【中文标题】Groovy/Grails:如何按 id 对对象列表进行排序【英文标题】:Groovy/Grails : How to sort the list of objects by 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.sortit.id 时,您将清楚地看到您正在处理许多 trainingOrders,而不仅仅是一个。使代码更具可读性。 【参考方案1】:默认sort()
对Comparable
对象很有用。如果您的班级不是Comparable
,请使用:
def orders = publicTrainingInstance.trainingOrder.sort it.id
该代码将使用传递的 id 进行排序。
请参阅文档:http://groovy.codehaus.org/groovy-jdk/java/util/Collection.html#sort()
【讨论】:
以上是关于Groovy/Grails:如何按 id 对对象列表进行排序的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Groovy/Grails 上实现社交网络登录? [关闭]
groovy grails构建测试数据(buildtestdata插件)如何创建多对多
使用 Groovy(Grails) 写入文件对于某些行(断行)失败