Grails: Ottieni un elenco di elementi con una relazione di BelningSto?

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

  •  25-08-2022
  •  | 
  •  

Domanda

Supponendo che io abbia un Person e a Status. Se Status è come questo :

class Status {
    String text
    Person author
}

Avrei fatto qualcosa del genere per ottenere l'elenco dei messaggi dell'utente attuale:

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

Ma se la mia relazione in Status è così, come posso farlo?

static belongsTo = [Person]

Grazie per l'aiuto.

È stato utile?

Soluzione

Tendo a usare la notazione della mappa per appartenenza, quindi lo farei in questo modo:

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

Allora la tua domanda è facile:

def messages = Status.findAllByAuthor(currentPerson)

Se hai aggiunto bidirezionale in persona con Hasmany:

class Person {

   static hasMany = [messages: Status]
}

Potresti anche farlo:

def messages = currentPerson.messages
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top