按日期对Grails中的集合进行排序

时间:2012-09-18 18:38:51

标签: grails

我想按日期对grails中的集合进行排序我目前正在执行以下操作:

def pics = Picture.findAllByChild(child, [sort: 'dateCreated', order: 'desc'])
pics.add(Post.findAllByPostedToAll(true))

因为我在列表中添加了更多项目,所以需要按dateCreated降序再次排序 它看起来不像排序类可以做到这一点。 我试过了:

pics.sort(it.dateCreated)

但这是不允许的

2 个答案:

答案 0 :(得分:14)

sort方法接受一个闭包参数,所以正确的调用(带有隐式的parens)是

pics.sort { it.dateCreated }

答案 1 :(得分:2)

您还可以更改关联的默认排序。

在您的图片域类中添加:

static mapping = { 
    child(sort:'dateCreated', order:'desc')
}

单向一对多关系不支持此功能,但对于双向关系非常有用。