Справочная информация:
Рассмотрим следующую модель:
- Карта может быть в одном или нескольких наборах карт
- Набор карт должен содержать одну или несколько карт
Я смоделировал это так:
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
а что тогда?