我的域类是
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查询。
答案 0 :(得分:0)
您必须使用与用于创建/更新的完全相同的<g:select/>
标记。因此,您会在浏览器中看到人类可读的值,例如THIRTIES
,但在后台会使用'30-39'
值。