#plugins #grails #checkbox #searchable
#Плагины #grails #флажок #доступно для поиска
Вопрос:
У меня есть свойство в объекте домена и таблице, которые имеют значения 1:1, 2:1; 3:1. Я использую плагин с возможностью поиска для поиска на основе этого свойства, например, я хочу получить записи, соотношение которых больше 1: 1. Это свойство отображается в виде флажка в форме, и когда я устанавливаю флажок, нажимаю на Поиск, я должен получить все записи с соотношениями, превышающими 1: 1. Вот мой тег и метод:
tag: <input type="checkbox" name="query" value=="1:1" />
search method:
//Ratio greater than 1:1
if(params.query[20]){
String searchTerm = "2:1"
println searchTerm
return [searchResult: searchableService.search(searchTerm, params)]
}
Я не могу получить набор результатов. Пожалуйста, дайте мне знать, как это сделать.
Спасибо ayrus
Ответ №1:
Я не думаю, что это возможно при индексации текста, если только набор возможных значений не довольно ограничен — например, только ‘2:1’, ‘1:1’ и «1:2». В последнем случае вы можете просто указать явный список значений.
Можно ли разделить поле на 2 числовых элемента?
Теперь даже невозможно корректно выполнить поиск с помощью Hibernate, если допустимы такие значения, как ‘7: 7’. Если возможны только ‘1: X’ и ‘X: 1’, то я бы просто выбрал
DomainClass.withCriteria {
like(score, '%:1')
ne(score, '1:1')
}