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

関連付けのデフォルトの並べ替えを変更することもできます。

Picture ドメイン クラスに以下を追加します。

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

これは、単方向の 1 対多の関係ではサポートされていませんが、双方向の関係ではうまく機能します。

于 2012-09-18T23:29:28.787 に答える