gpt4 book ai didi

grails - 用grails中的偏移量过滤集合

转载 作者:行者123 更新时间:2023-12-02 14:53:37 25 4
gpt4 key购买 nike

我试图使用findAll过滤grails中的集合,所以我只能在他的字段“estado”中获得具有特定值的实例。
我有这样的事情:

trabajos.findAll({it.estado.equals( "Pago")})

问题是我不知道如何对返回的集合进行分页。
我看了看grails文档,发现了这个
Book.findAll(Map queryParams, Closure whereCriteria)

但是当我尝试
trabajos.findAll([offset: 0], {it.estado.equals("Pago")})

我得到以下异常
No signature of method: java.util.ArrayList.findAll() is applicable for argument types:       (java.util.LinkedHashMap, com.publidirecta.PersonalController$_show_closure2) values: [[offset:0], com.publidirecta.PersonalController$_show_closure2@a6bdb0] 
Possible solutions: findAll(), findAll(), findAll(groovy.lang.Closure), findAll(groovy.lang.Closure), find(), find()`

这是为什么要实现某种分页,这是为什么还是我必须手动进行?

最佳答案

我猜你很困惑2件事:grails和groovy。Book.findAll(Map queryParams, Closure whereCriteria)-是数据库中的查找器,很麻烦,您可以在其中传递max参数。
但是在trabajos.findAll({it.estado.equals( "Pago")})中,您尝试在列表中查找。这是很古怪的事情。查看更多详细信息herehere

如果您尝试从数据库中获取对象,请像这样使用
Book.findAll(Map queryParams, Closure whereCriteria)

如果是对象列表,请使用以下内容:

def filtered = trabajos.findAll({it.estado.equals( "Pago")})
def result = filteredList[offset..offset+max < filtered.size() ? offset+max : filtered.size()]

关于grails - 用grails中的偏移量过滤集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15899719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com