私は次のモデルを持っています:
class Post {
int id;
String comment;
static belongsTo = [
category_id:Category,
author_id:Author
];
}
次のクエリを作成したいと思います。各作成者の最新の投稿を (ID で) 検索し、特定のカテゴリ X の場合にのみ投稿を返します。
これは私がこれまでに得た距離です:
def cat = Category.findByID(x); // Not yet used
def c = Post.createCriteria();
def results = c.list {
projections {
groupProperty("author_id", "myid")
max("id", "version")
}
}
def posts = results?.collect{Post.read(it[0])}
like("categorie_id", cat)
の直前に追加したくなる誘惑にかられprojections
ます。
ただし、これにより、カテゴリ X に関連する各作成者の最後の投稿が取得されます。
必要: 各著者の最新の投稿 (カテゴリ X に属している場合)。
つまり、各著者の最新の投稿がカテゴリ x かどうかを知りたいのです。
これを行うには、最初の結果に対して2回目の検索を実行する必要があると思いますが、これを行う方法がわかりません。
助言がありますか?
ありがとうございました、
チョポ