在Grails中从m:n关系加载域实例

时间:2011-05-30 09:39:13

标签: grails groovy model

背景

考虑以下模型:

  • 地图可以位于一个或多个地图集中
  • 地图集必须包含一个或多个地图

我已经模仿了这样:

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的地图?我需要分页参数。

我想我可以做那样的事情:

Mapset.get(params.set).maps

但是呢?

1 个答案:

答案 0 :(得分:0)

[UPDATE]

def maps = Map.createCriteria().list(max: params.max, offset: params.offset, sort: params.sort, order: params.order){
   mapsets {
       eq('id', params.set)
   }
}