gpt4 book ai didi

hibernate - 如何将多个值传递给也与其他参数相对应的参数?

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

为了在我的域上进行报告,我需要通过URL传递多个参数,并传递它们的相应值。

简单示例-每个值一个
http://localhost/myapp/search?
filtertype=status&filterterm=pending

复杂示例-多个值-
http://localhost/myapp/search?
filtertype=status&filtertype=color&filterterm=pending&filterterm=red

我可以使用params.list("filtertype")params.list("filterterm")将这些值作为列表获取,但是这样它们之间就没有任何关联。

我的问题是如何根据这些值进行条件查询,以使我不必像下面的解决方案那样对filterterm的数组索引进行硬编码?

def filteredResults(params) {
def filtertypes = params.list("filtertype")
def filterterms = params.list("filterterm")

def list = MyDomain.createCriteria().list(max: params.max?: 10, offset: params.offset?: 0) {
if ("status" in filtertypes) {
eq("status", filterterms[0])
}
if ("color" in filtertypes) {
eq("color", filterterms[1])
}
}
}

请注意,在上述解决方案中,我很难对 filterterms[0] etc..进行编码,因此无法很好地扩展。我需要一个可以很好地扩展到多个值的解决方案。

最佳答案

您是否尝试过使用eachWithIndex这样?

def filteredResults(params) {
def filtertypes = params.list("filtertype")
def filterterms = params.list("filterterm")

def list = MyDomain.createCriteria().list(max: params.max?: 10, offset: params.offset?: 0) {
filtertypes.eachWithIndex { ft, idx ->
eq("${ft}", filterterms[idx])
}
}
}

关于hibernate - 如何将多个值传递给也与其他参数相对应的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26680627/

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