6

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

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

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

pics.sort(it.dateCreated)

但这是不允许的

4

2 回答 2

16

sort方法采用闭包参数,因此正确的调用(带有隐式括号)是

pics.sort { it.dateCreated }
于 2012-09-18T19:01:50.630 回答
2

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

在您的图片域类中添加:

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

这不支持单向一对多关系,但适用于双向关系。

于 2012-09-18T23:29:28.787 回答