Есть ли способ автоматически обернуть все поиски с помощью шаблона?Grails Plugin Searchable - поиск по шаблону по умолчанию
.: например
Book.search("*${params.q}*", params)
Есть ли способ автоматически обернуть все поиски с помощью шаблона?Grails Plugin Searchable - поиск по шаблону по умолчанию
.: например
Book.search("*${params.q}*", params)
Я не знаком с .search (вы используете плагин?). Однако для поиска подстановочных знаков в моделях я обычно создаю метод внутри класса модели домена. В вашем примере,
В классе модели Книга:
class Book {
String title
String author
int year
static List wildSearch(par, val) {
def foundList = this.executeQuery("select b FROM Book b WHERE ${par} like \'%${val}%\'")
return foundList
}
}
В контроллере:
def searchBook = {
def b1 = new Book(title: "Farewell To Arms", author: "Ernest Hemingway").save()
def b2 = new Book(title: "The Brother's Karamazov", author: "Anton Chekov").save()
def b3 = new Book(title: "Brothers in Arms", author: "Cherry Dalton").save()
// If you search for "Arms", This returns b1 and b3
def found = Book.wildSearch("title", params.title)
}
Пример URL:
http://localhost:8080/mytest/mycontroller/searchBooks?title=Arms
Вы можете попробовать его в UrlMapping (HTTP : //grails.org/doc/latest/guide/single.html#urlmappings) с использованием произвольных переменных? –