Версия Grails: 3.0.7
Крутая версия: 2.4.4
Версия JVM: 1.8.0_51
У меня есть следующий запрос в службе Grails, и мой вопрос заключается в том, как «игнорировать» пробел в середине значения поля, такого как почтовый индекс.
Например, желаемый результат состоит в том, что «LL551RB» будет соответствовать аналогичному предложению для «LL55 1RB», хранящемуся в базе данных. И наоборот, решение было бы простым, удалить пробел из значения запроса, но я не могу определить, как удалить его из значений базы данных.
Я пробовал варианты ниже, которые, пока они выполняются, не совпадают правильно.
def allRecordsMatched = Event.createCriteria().listDistinct {
or {
eventCategories {
like("categoryName", "%" + search + "%")
}
like("eventName", "%" + search + "%")
like("address.town", "%" + search + "%")
like("address.county", "%" + search + "%")
like("address.postalCode".replaceAll("\\s",""), "%" + search + "%")
}
order("startDateTime", "asc")
}
return [results, allRecordsMatched]