searchable を使用して Grails で検索クエリを実行していますが、個別の結果のみを返したいと考えています。
years = House.searchEvery('(house_type:"condo")', [sort: 'house_year', order: 'desc'])
house_year を一意/区別するにはどうすればよいですか、それとも自分で解析する必要がありますか?
searchable を使用して Grails で検索クエリを実行していますが、個別の結果のみを返したいと考えています。
years = House.searchEvery('(house_type:"condo")', [sort: 'house_year', order: 'desc'])
house_year を一意/区別するにはどうすればよいですか、それとも自分で解析する必要がありますか?
結果から重複を排除したい場合 (この場合、重複は同じ値を持つオブジェクトと見なされます)、 Groovy が追加するメソッドhouse_year
を使用できます。unique
Collection
years = House.searchEvery('(house_type:"condo")', [sort: 'house_year', order: 'desc'])
def uniqueYears = years.unique {it.house_year}
明らかに、検索可能なプラグインを使用してこれを行う簡単な方法はありません。用語を検索した後、独自の結果セットをフィルタリングできます。あなたの場合、通常の grails 基準または hql クエリを使用しようとします。例えば
House.createCriteria.listDistinct {
order("house_year", "desc")
eq("house_type", "condo")
}