Grails查询包含枚举集的模型

时间:2014-09-09 11:59:35

标签: grails model enums querying

我的域类是

class RoomWantedAd{
    Set<MateAgeRange> mateAgeRanges
    static hasMany=[mateAgeRanges :MateAgeRange]
}

她的MateAgeRange是:

enum MateAgeRange {
    TWENTIES('18-29')
    ,THIRTIES('30-39')
    ,FOURTIES("40-49")
    ,FIFTIES("50-59")
    ,SIXTIES("60+")



final String value

private MateAgeRange(String value) {
    this.value = value
}

String toString() { value }
String getKey() { name() }


static belongsTo=[roomWanted:RoomWanted]
}

我的问题是搜索。在搜索页面中,一个人可以在[18-29,30-39,40-49,50-59,60 +]中选择0或更多值。在db中,[18-29,30-39,40-49,50-59,60 +]中的0或更多值存储在字段'mateAgeRanges'中。 让db在'mateAgeRange'字段中包含[30-39,50-59]。让我们在搜索页面中选择[18-29,50-59,60 +]。然后必须返回与上面列表对应的广告。这是因为在db列表中存在用户选择中的至少一个值。这怎么可能。是否可以使用SQL查询或grails GORM查询。

1 个答案:

答案 0 :(得分:0)

您必须使用与用于创建/更新的完全相同的<g:select/>标记。因此,您会在浏览器中看到人类可读的值,例如THIRTIES,但在后台会使用'30-39'值。