我试图从每个对象返回一个字符串。
鉴于以下内容:
class Book {
String title
Date releaseDate
String author
Boolean paperback
}
对于Book的每个实例我想获得一系列作者然后使它们成为唯一的。 我以为你可以这样做:
def authors = Book.findAllByAuthor()
这只是给了我一个关于书籍对象的数组。 我知道我可以做一个
a =[]
authors.each{a.add(it.author)}
a.unique()
我几乎可以肯定,有一种方法可以在一行中抓住所有作者。
任何想法?
答案 0 :(得分:1)
您可以使用投影来获取所有图书中不同的作者列表。有关更多示例,请查看createCriteria documentation。
def c = Book.createCriteria()
def authors = c.list() {
projections {
distinct('author')
}
}
答案 1 :(得分:1)
这为您提供了任何书籍的独特作者:
Book.executeQuery("select distinct author from Book")