Загрузка экземпляров домена из отношения m: n в Grails - PullRequest
1 голос
/ 30 мая 2011

Справочная информация:

Рассмотрим следующую модель:

  • Карта может быть в одном или нескольких наборах карт
  • Набор карт должен содержать одну или несколько карт

Я смоделировал это так:

Map.groovy:

static belongsTo = [ User, Mapset ]
static hasMany = [ mapsets : Mapset ]

Mapset.groovy:

static hasMany = [ maps : Map ]

Проблема:

Я нахожусь в контроллере карт, и у меня есть параметр с именем set, который обозначает набор, из которого я хочу загрузить карты.

Обычно мой контроллер карт загружает карты и показывает их в виде страниц, например:

def maps = Map.createCriteria().list(max: params.max, offset: params.offset, sort: params.sort, order: params.order) { }

Но для большей избирательности я бы хотел получить только карты, принадлежащие одному набору карт.

Вопрос:

Как мне загрузить только карты, которые принадлежат Mapset с id = 1? Мне нужны параметры пагинации.

Я подумал, что мог бы сделать что-то подобное:

Mapset.get(params.set).maps

а что тогда?

1 Ответ

0 голосов
/ 30 мая 2011

[ОБНОВЛЕНИЕ]

def maps = Map.createCriteria().list(max: params.max, offset: params.offset, sort: params.sort, order: params.order){
   mapsets {
       eq('id', params.set)
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...