У меня довольно большая форма, где пользователь может выбрать любое количество параметров (от 1 до 10).
Пример:
- Города - NYC, LA;возраст - 18
- города - ноль (ничего не выбрано);age - 23, 57
Как мне реализовать метод find на уровне GORM (неверный способ - метод, который составляет строку запроса, добавляет параметры, если не ноль, и т. д.)?
Затем я должен искать в своей базе данных соответствующие объекты.Еще одно ограничение - следует использовать executeQuery ?
** [EDITED] *** Я вспомнил, что не опубликовал свой ответ.Вот оно:
def resultList = Organization.createCriteria().list(max: params.max, offset: params.offset) {
and {
if (params.chosenNomenc != null) {
nomenclatures {
ilike("title", params.chosenNomenc)//for string
}
}
if (params.chosenCountries != null) {
countries {
'in'("title", params.chosenCountries)//for list
}
}
cache true
order("id", "asc")
}
}
println("resultList:" + resultList)
[organizationList: resultList, total: resultList.totalCount, params: params]
}
С уважением, Дмитрий.