Duvida com Iteração
28/11/2012 18:38
class A{
...
static hasMany = [letras: B]
...
}
class B{
...
static hasMany = [letras: C]
...
}
def todosB
def todosC
def listA = A.list()
listA.each(){
todosB = todosB + ${it.letras}
}
todosB.each(){
todosC = todosC + ${it.letras}
}
def letras = A.executeQuery("select distinct a.letras.letras")
for (a in as) {
for (b in a.letras) {
for (c in b.letras) {
}
}
}
def cont //será uma lista de B's
for (a in as) {
if(a.letras.size() > 5){
if(cont){
cont = cont + a.letras // vai incrementando a variavel
}else{
cont = a.letras // recebe a primeira variavel
}
}
List<B> cont2
for (b in cont) {
if(b.nome == "OK"){
if(cont2){
cont2 = cont2 + B.finByNome("OK")
}else{
cont2 = B.finByNome("OK") // Ocorre erro dizendo que não pode inserir o tipo B na em um java.util.List
}
}
}
}
cont2 = B.finByNome("OK")
cont2 = B.findAllByNome("OK")
cont2 += B.findlByNome("OK")
def cont = [] //será uma lista de B's
for (a in as) {
if(a.letras.size() > 5){
cont += a.letras // basta isso se inicializar o "cont" como acima
}
List<B> cont2 = []
for (b in cont) {
if(b.nome == "OK"){
cont2 += B.findByNome("OK") // caso queira buscar só 1 do banco
cont2 += B.findAllByNome("OK") // caso queira buscar vários do banco
}
}
}
cont2 += B.findlByNome("OK")
cont2 += B.findByNome("OK")
Para se registrar, clique aqui.