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



 


Esqueceu sua senha?
 
Grails Brasil é mantido por itexto Desenvolvimento de Projetos Ltda.
Em caso de problemas, sinta-se livre para procurar Henrique Lobo Weissmann (Kico) por e-mail: kicolobo@itexto.net
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão (clique no logo à direita para maiores detalhes)