2013-10-09 13 views
25

PublicTrainingクラスなGroovy/Grailsの:idでオブジェクトのリストをソートする方法

class PublicTraining{ 
    static hasMany = [trainingOrder: TrainingOrder] 
} 

とTrainingOrderクラス

class TrainingOrder { 
    Date createdOn 

    static mapping = { 
     sort id:"asc" 
    } 
} 

私はトレーニングのためのすべての注文を取得したい場合

def orders = publicTrainingInstance.trainingOrder.sort() 
println orders // [59,58] (id of orders) 

ソートされた注文を出さない

+0

を、それは "静的hasManyの= [TrainingOrder trainingOrders]" を作るためにうれしいですあなたは明らかにあなたが多くの訓練で働いているのを見るでしょう。コードを読みやすくします。 – Twelve24

答えて

46

デフォルトのsort()は、Comparableオブジェクトに対して便利です。

def orders = publicTrainingInstance.trainingOrder.sort { it.id } 

コードが渡されたIDを使用してソートします:あなたのクラスはComparable、使用されていない場合。

は、ドキュメントを参照してください:あなたはpublicTrainingInstance.trainingOrders.sort {it.id}として、それを参照するその方法、:あなたのPublicTrainingドメインでhttp://groovy.codehaus.org/groovy-jdk/java/util/Collection.html#sort()

関連する問題