加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

排序 – Grails映射对多个字段进行排序:: Groovy对多个映射条目

发布时间:2020-12-14 16:37:14 所属栏目:大数据 来源:网络整理
导读:陷在这一个。在Grails中,似乎无法在域映射中定义多个列的默认排序。静态映射= {sort’prop1 desc,prop2 asc’}或{sort([prop1:’desc’,prop2:’asc’])) }。只有第一列被排序,跛脚。 同样,当尝试Groovy对多个列进行Grails findAllBy查询排序时,第二
陷在这一个。在Grails中,似乎无法在域映射中定义多个列的默认排序。静态映射= {sort’prop1 desc,prop2 asc’}或{sort([prop1:’desc’,prop2:’asc’])) }。只有第一列被排序,跛脚。

同样,当尝试Groovy对多个列进行Grails findAllBy查询排序时,第二个排序将覆盖第一个。

def list = [[rowNum:2,position:3],[rowNum:1,position:2],[rowNum:3,position:1]]

list.sort {it.rowNum}的.sort {it.position}

显然,在后一种情况下,丢失了船,这种怪异的排序。我看过的帖子是:实现可比性,但如果可能,寻找更简洁的东西。

解决方法

这是一个Groovy解决方案。仍然基本上实现比较器。

list.sort { map1,map2 -> map1.rowNum <=> map2.rowNum ?: map1.position <=> map2.position }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读