使用多个排序字段查询的Grails

时间:2014-08-13 22:31:35

标签: sorting grails

我无法在文档中找到一个示例,我更愿意使用漂亮的"其中"功能而不是"标准构建器"功能。

我有我的"其中"查询:

def query = Nhrdist.where
{
    nhrdistPidm == pidm
    nhrdistFundCode == fundCode
    nhrdistCategoryCode == 'A'
    nhrdistAcctCode in ['20L0', '20L2', '20L3', '20L4', '20L5']
    nhrdistTransDate in fiscalYearBeginDate..fiscalYearEndDate
}

当我按一个字段排序时,以下内容有效:

def results = query.list(sort:'nhrdistAcctCode')

但我不能为我的生活弄清楚如何按两个字段排序。我想首先按nhrdisAcctCode排序,然后按nhrdistTransDate排序。我无法在http://grails.org/doc/2.3.x/guide/GORM.html#whereQueries

上找到任何示例

有人可以:

  1. 为我提供一个示例,说明如何使用多个字段进行排序或
  2. 贬低我并在文档中指出它不能这样做或
  3. 告诉我并给我链接到StackOverflow页面,回答我的问题或
  4. 告诉我退出我的抱怨,然后使用Criteria Builder查询。

1 个答案:

答案 0 :(得分:3)

def results = query.order( 'nhrdistAcctCode' )
                   .order( 'nhrdistTransDate', 'desc' ) // or asc
                   .list()

应该这样做。

此处order()DetachedCriteria(其中是查询)上调用{{1}}作为构建器模式。