Как я могу сделать динамический поиск Grails? - PullRequest
0 голосов
/ 01 июля 2011

Рассмотрим этот класс домена:

class House {
  Integer room
  Integer bathroom
  Date builtDate
  Date boughtDate

  String roadName

  String getSearch(){
    return room + " " + bathroom + " " + builtDate + " " + boughtDate
  }
}

Я предполагаю, что у меня есть несколько полей для моего поискового механизма: поиск по комнате, ванной, встроенная дата, купленная дата.

Пользователь должен иметь возможность искать любую комбинацию этих параметров. Он может использовать только один или все из них. Мне нужна помощь с кодом моего контроллера. Я почти уверен, что не могу сделать это с помощью HQL Dynamic Finders, поэтому мне придется использовать SQLS-статистику.

Любая помощь / подсказка будет оценена.

1 Ответ

0 голосов
/ 01 июля 2011

Вы, вероятно, хотите использовать критерии гибернации. Что-то вроде:

if (room && bathroom && builtDate && boughtDate) {
  House.withCriteria {
    if (room) {
      gte 'room', room
    }
    // ...
  }
}

Посмотрите документы на createCriteria и withCriteria для получения дополнительной информации.

...