从我的用户域模型中命令desc的GORM数据库对象列表中,我想将它们命令为asc(即,在视图中以相反的顺序排序)。例如,从数据库中获取用户的最新书籍,但以最后一本书最后出版的相反顺序将它们插入到Dom中。
如何在GSP中执行反向操作?
控制器:
def books = user.books
GSP:
<g:each in="${books}" var="book">${book}</g:each>
答案 0 :(得分:3)
您可以按照here所述对关系集合使用默认排序。所以,如果你这样定义:
class User {
…
static hasMany = [books: Book]
static mapping = {
books sort: 'publishDate', order: 'asc'
}
}
该集合将按数据库级别进行排序
答案 1 :(得分:2)
<g:each in="${books.reverse()}" var="book">${book}</g:each>
修改
走开了:)我宁愿建议:
控制器中的 def books = user.books?.reverse()
。
(关注点分离,视图不应具有操纵model
)的逻辑
<强>更新强>
如果books
中没有订购User
,则需要进行显式排序。
def newestBooks = user.books?.asList().sort{it.publishDate}
反向排序使用
def newestBooks = user.books?.asList().sort{-it.publishDate}