Grails muitos para muitas consultas de associação
-
20-09-2019 - |
Pergunta
Eu tenho muitos para muitos relacionamentos.
class Post {
String title
static hasMany = [tags:Tag]
}
class Tag {
static hasMany = [posts:Post]
}
Gostaria de obter uma lista de postagens para uma tag que tenha outros critérios (como uma ordem de classificação, partida de título parcial etc.). Eu tenho usar os critérios do Graals para conseguir isso? Ou há alguma maneira de fazer algo assim:
Post.findAllByTitleLikeAndTagsContains("partial title", aTag)
Solução
Não acho que os Dynamic Finders permitirão que você entre em muitas ou muitas para muitas associações - você precisa fazer um critério ou seguir a rota de consulta HQL. Você só pode consultar uma associação de um a uma, não de um a muitos. (Consulte a seção 5.4.1 Finders dinâmicos)
Outras dicas
Você pode usar o Withcriteria, por exemplo:
Post.withCriteria{
tags {
eq 'id',aTag.id
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow