0

ユーザー ドメイン モデルで降順に並べられた GORM データベース オブジェクトのリストから、昇順 (つまり、ビューで逆順) に並べたいと思います。たとえば、データベースからユーザーの最新の本を取得するが、最新の本が最後になるように逆の順序でそれらを Dom に挿入します。

GSP でそれぞれリバースを実行するにはどうすればよいですか?

コントローラ:

def books = user.books

GSP:

<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'
    }
}

コレクションはデータベースレベルでソートされます

于 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 に答える