Grails Searchable вернуть уникальные или отличные результаты - PullRequest
0 голосов
/ 06 июня 2011

Я выполняю поисковый запрос на Grails, используя searchable, но хочу вернуть только разные результаты.

years = House.searchEvery('(house_type:"condo")', [sort: 'house_year', order: 'desc'])

Как сделать house_year уникальным / отличным или мне нужно просто разобратьэто сам?

Ответы [ 2 ]

1 голос
/ 07 июня 2011

Если вы хотите исключить дубликаты из результатов (и в этом случае дубликат считается объектом с таким же значением house_year), вы можете использовать метод unique, который Groovy добавляет к Collection

years = House.searchEvery('(house_type:"condo")', [sort: 'house_year', order: 'desc'])
def uniqueYears = years.unique {it.house_year}
0 голосов
/ 07 июня 2011

очевидно, что нет простого способа сделать это с помощью плагина с возможностью поиска. после поиска вашего термина вы можете отфильтровать свой набор результатов самостоятельно. В вашем случае я бы попытался использовать регулярные критерии Grails или HQL-запрос. например,

House.createCriteria.listDistinct {
   order("house_year", "desc")
   eq("house_type", "condo")
}
...