簡體   English   中英

如何對grails對象的persistentSet進行排序?

[英]how to sort persistentSet of grails objects?

我有兩個域模型:

class Resource{
   String name

   static mapping = {
                 sort name:"asc"
          }
}

class ResourceGroup{
   String groupName

   static hasMany = [resources: Resource]
}

控制器:

def resGroups = ResourceGroup.findAll()
render (
        view: "index",
        model: [resourcegroups: resGroups]
)

所以現在在我的gsp中:

<g:each in="${resourcegroups}" var="item" status="i">
   ...
   <g:each in="${item.resources}" var="res" status="y">
       <!-- THESE ITEM.RESOURCES ARE UNSORTED! -->
   </g:each>
   ...
</g:each>

我的問題是如何對“ item.resources”進行排序? 這是一個持久的休眠狀態! 我以為可以用映射的排序名稱'asc'來處理,但這不起作用:-(

嘗試對"asc" item.resources.sort { it.name }

item.resources.sort { it.name }.reverse()表示"desc"

您不能對一對多或多對多關系進行默認排序。 請參閱此處的文檔 ,特別注意底部的注釋:

這些映射不適用於默認的單向一對多或多對多關系,因為它們涉及聯接表。 有關更多詳細信息,請參見此問題 考慮使用SortedSet或帶有排序參數的查詢來獲取所需的數據。

您指定的默認排序實際上確實對Resource對象的列表進行排序(即,如果您獲得像Resource.getAll()的列表,則列表將按照您指定的順序進行排序)。

做你想做考慮創建一個標簽LIB唐在暗示什么在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM