Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Grails对视图中的对象集合进行排序_Grails_Collections - Fatal编程技术网

使用Grails对视图中的对象集合进行排序

使用Grails对视图中的对象集合进行排序,grails,collections,Grails,Collections,当我试图在视图中显示一组对象时,出现了一个问题,它们以随机顺序返回,每次刷新页面时都会有所不同 举个例子: class Author{ ... static hasMany = [books:Book] } class Book{ ... static belongsTo = [author:Author] } 在作者的一个观点中,我想做如下事情: <g:each in="${authorInstance.books}" var="book">

当我试图在视图中显示一组对象时,出现了一个问题,它们以随机顺序返回,每次刷新页面时都会有所不同

举个例子:

class Author{
    ...
    static hasMany = [books:Book]
}
class Book{
    ...
    static belongsTo = [author:Author]
}
在作者的一个观点中,我想做如下事情:

<g:each in="${authorInstance.books}" var="book">
    //render book template or whatever...
</g:each>

//渲染书本模板或其他。。。

当我这样做的时候,每次归还的藏书顺序都不一样。如何简单地每次按ID对集合进行排序?

有几种方法可以对集合进行排序。这完全取决于您希望在哪里进行排序

首先,您可以为域中的集合定义默认顺序:

class Author {
    static hasMany = [books: Book]
    static mapping = {
        books sort: 'id', order: 'asc'
    }
}
或者,您可以在GSP中对集合进行排序:

<g:each in="${authorInstance.books.sort{it.id}}" var="book">
    //render book template or whatever...
</g:each>

//渲染书本模板或其他。。。

有几种方法可以对该集合进行排序。这完全取决于您希望在哪里进行排序

首先,您可以为域中的集合定义默认顺序:

class Author {
    static hasMany = [books: Book]
    static mapping = {
        books sort: 'id', order: 'asc'
    }
}
或者,您可以在GSP中对集合进行排序:

<g:each in="${authorInstance.books.sort{it.id}}" var="book">
    //render book template or whatever...
</g:each>

//渲染书本模板或其他。。。

有几种方法可以对该集合进行排序。这完全取决于您希望在哪里进行排序

首先,您可以为域中的集合定义默认顺序:

class Author {
    static hasMany = [books: Book]
    static mapping = {
        books sort: 'id', order: 'asc'
    }
}
或者,您可以在GSP中对集合进行排序:

<g:each in="${authorInstance.books.sort{it.id}}" var="book">
    //render book template or whatever...
</g:each>

//渲染书本模板或其他。。。

有几种方法可以对该集合进行排序。这完全取决于您希望在哪里进行排序

首先,您可以为域中的集合定义默认顺序:

class Author {
    static hasMany = [books: Book]
    static mapping = {
        books sort: 'id', order: 'asc'
    }
}
或者,您可以在GSP中对集合进行排序:

<g:each in="${authorInstance.books.sort{it.id}}" var="book">
    //render book template or whatever...
</g:each>

//渲染书本模板或其他。。。

非常好,谢谢Joshua。这两种方法似乎都非常有效!太好了,谢谢你,约书亚。这两种方法似乎都非常有效!太好了,谢谢你,约书亚。这两种方法似乎都非常有效!太好了,谢谢你,约书亚。这两种方法似乎都非常有效!