Erro ao utilizar nova closure where do Grails 2.0
Postado em
14/05/2012 16:18

0

0
Pessoal, boa tarde.
Estou com um problema que eh o seguinte, tenho 2 domains, Autor e Livro, e tenho um relacionamento entre eles utilizando hasMany e belongsTo
Até ae tudo bem, mas qdo crio uma query assim:
def query = Autor.where {
(count(livros) >= 2)
}
def results = query.list(params)
ocorre o seguinte erro:
Class groovy.lang.MissingMethodException
Message No signature of method: grails.gorm.DetachedCriteria.count() is applicable for argument types: (grails.gorm.DetachedCriteria) values: [grails.gorm.DetachedCriteria@7bf83b8a] Possible solutions: count(), count(groovy.lang.Closure), count(java.util.Map), count(java.util.Map, groovy.lang.Closure), not(groovy.lang.Closure), sort(java.lang.String)
Alguem já utilizou as funções de agregação do Grails 2.0 no novo where?
Valeu pela ajuda!
Tags:
grails, gorm, where
Carlos E Z Batistão
Pontos: 26

0

0
14/05/2012 17:58
Olá, Carlos.
Amigo, no teu código, o que vem a ser "livros"?
José Yoshiriro (Yoshi)
Pontos: 1108

1

0
14/05/2012 20:08
Ah, foi mal... licom calma teu post e entendi.
Bem, então no seu caso deve fazer:
def query = Autor.where {
livros.size() >= 2
}
José Yoshiriro (Yoshi)
Pontos: 1108

0

0
14/05/2012 20:10
O "count", pelo que entendi da documentação, deve-se usar para campos mesmo e não em relacionamentos.
José Yoshiriro (Yoshi)
Pontos: 1108

0

0
14/05/2012 20:15
Opa, valeu José, já tinha utilizado da forma q vc falou, mas não sabia q para relacionamentos não funcionava, alias poderia enviar aqui o link da documentação q vc consultou?
Valeu!!!!
Carlos E Z Batistão
Pontos: 26

0

0
15/05/2012 11:46
José Yoshiriro (Yoshi)
Pontos: 1108

0

0
15/05/2012 11:47
E então. Você resolveu o problema?
José Yoshiriro (Yoshi)
Pontos: 1108

0

0
15/05/2012 19:38
Então José, jah tinha feito da forma q vc mencionou, utilizando na lista um size e verificando se era maior dentro do where, soh gostaria de saber se tinha como fazer com o count, mas resolvi exatamente como vc disse, valeu
E valeu pelo link da documentação, deveria ter lido lah antes de postar aqui ehehehhe
Carlos E Z Batistão
Pontos: 26