GRAILS: ¿Obtener una lista de elementos con una relación perteneciente?

StackOverflow https://stackoverflow.com/questions/20353837

  •  25-08-2022
  •  | 
  •  

Pregunta

Suponiendo que tengo un Person y un Status. Si Status es así:

class Status {
    String text
    Person author
}

Hubiera hecho algo así para obtener la lista de mensajes del usuario actual:

def messages = Status.withCriteria {
    author { 
        eq 'username', currentPerson.username
    }
}

Pero si mi relación en Status es así, ¿cómo puedo hacerlo?

static belongsTo = [Person]

Gracias por tu ayuda.

¿Fue útil?

Solución

Tiendo a usar la notación del mapa para pertenecer, por lo que lo haría así:

class Status {
   String text
   static belongsTo = [author: Person]
}

Entonces tu consulta es fácil:

def messages = Status.findAllByAuthor(currentPerson)

Si tuviera un bidireccional agregado a la persona con Hasmany:

class Person {

   static hasMany = [messages: Status]
}

También podrías hacer esto:

def messages = currentPerson.messages
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top