Grails中的最大值和偏移量?

Hik*_*ndo 5 grails grails-orm

我有一些列表数据,我想做分页。但我不明白如何使用“最大”。这是我的简单查询代码,

def users = User.where{
  roles {
     id in roles.id 
  }
}.list(max: 1)
println users
Run Code Online (Sandbox Code Playgroud)
  • 当我将 max 设置为 1 时,它显示 1 个数据,
  • 我将 max 设置为 2,它显示了 2 个数据,
  • 我将 max 设置为 3,它显示了 2 个数据,
  • 我将最大值设置为 4,它显示 3 个数据和
  • 我将最大值设置为 5,它显示 4 个数据

我不明白什么是抵消。如果我想每页显示 5 个数据,我的偏移量应该是多少?

Kol*_*nij 2

像这样写,我摘自官方文档:

def users = User.createCriteria().list (max: 10, offset: 10) {
    roles {
        'in'('id', roles*.id) 
    }
}
Run Code Online (Sandbox Code Playgroud)

链接到createCriteria 文档 您可以使用控制器 params.offset 和 params.max 并在这些条件中使用它。例如:

def users = User.createCriteria().list (max: params.max, offset: param.offset) {...}
Run Code Online (Sandbox Code Playgroud)

我认为您可以在元素列表下添加一些具有所需偏移量的链接。祝你好运 :)