GRAILS: Obtenez une liste d'éléments avec une relation d'appartenance?

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

  •  25-08-2022
  •  | 
  •  

Question

En supposant que j'ai un Person et un Status. Si Status est comme ça :

class Status {
    String text
    Person author
}

J'aurais fait quelque chose comme ça pour obtenir la liste des messages de l'utilisateur actuel:

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

Mais si ma relation Status est comme ça, comment puis-je le faire?

static belongsTo = [Person]

Merci de votre aide.

Était-ce utile?

La solution

J'ai tendance à utiliser la notation de la carte pour Belongsto, donc je le ferais comme ceci:

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

Ensuite, votre question est facile:

def messages = Status.findAllByAuthor(currentPerson)

Si vous aviez ajouté une bidirection à la personne avec Hasmany:

class Person {

   static hasMany = [messages: Status]
}

Vous pouvez également faire ceci:

def messages = currentPerson.messages
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top