0

从在我的用户域模型中按 desc 排序的 GORM 数据库对象列表中,我想将它们按 asc 排序(即,在视图中以相反的顺序)。例如,从数据库中获取用户的最新书籍,但将它们以相反的顺序插入到 Dom 中,最新书籍最后出现。

如何在我的 GSP 中执行反向操作?

控制器:

def books = user.books

普惠制:

<g:each in="${books}" var="book">${book}</g:each>
4

2 回答 2

3

您可以将默认排序用于关系集合,如此所述。所以如果你这样定义:

class User {
    …
    static hasMany = [books: Book]
    static mapping = {
        books sort: 'publishDate', order: 'asc'
    }
}

The collection will be sorted on database level

于 2013-05-08T07:39:48.267 回答
2

<g:each in="${books.reverse()}" var="book">${book}</g:each>

编辑

得意忘形了:)。我宁愿建议:

def books = user.books?.reverse()在控制器中。

(关注点分离,视图不应该有操作逻辑model

更新:

如果books未在 中User排序,则需要显式排序。

def newestBooks = user.books?.asList().sort{it.publishDate}

反向排序使用

def newestBooks = user.books?.asList().sort{-it.publishDate}

于 2013-05-08T00:40:43.670 回答