2012-01-03 15 views
3

私は新しいGrails 2.0の "where"クエリが必要ですが、投影を行う必要があります。誰でも知っている?今すぐすべてのドメインインスタンスをインスタンス化し、必要なフィールドを抽出するコードがあります。Grails 2.0を使用してクエリを実行するにはどうすればよいですか?

List<Double> eloRatings = User.where { !deleted }.list()*.eloRating 

これはあまり効率的ではありません。

答えて

9

this blog postから、に直接where個のクエリを使用することはできません。 whereクエリから返されるオブジェクトはDetachedCriteriaあるので、あなたはそうのように、それまでの伝統的な基準を追加することができます。これは動作するはず

List<Double> eloRatings = User.where { !deleted }.projections { 
    property 'eloRating' 
}.list() 

、私はGrailsの2.0の下でそれをテストしました。

+0

ブログの投稿が勝者です!そのうちのいくつかはGrailsのドキュメントに入る必要があります。 –

+0

ええ、それは本当に便利な投稿です。 – OverZealous

関連する問題