Граали :получить список элементов с отношением belongsTo?

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

  •  25-08-2022
  •  | 
  •  

Вопрос

Предполагая, что у меня есть Person и еще Status.Если Status это похоже на это :

class Status {
    String text
    Person author
}

Я бы сделал что-то вроде этого, чтобы получить список сообщений текущего пользователя :

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

Но если мои отношения в Status вот так, как я могу это сделать?

static belongsTo = [Person]

Спасибо за вашу помощь.

Это было полезно?

Решение

Я обычно использую обозначение map для belongsTo, поэтому я бы сделал это следующим образом:

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

Тогда ваш запрос прост:

def messages = Status.findAllByAuthor(currentPerson)

Если бы вы добавили двунаправленный в Person с помощью hasMany:

class Person {

   static hasMany = [messages: Status]
}

Вы также могли бы сделать это:

def messages = currentPerson.messages
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top