grails createCriteria 如何循环限制

发布于 2025-01-02 14:36:59 字数 479 浏览 3 评论 0原文

我可以这样做:

def criteria = Category.createCriteria();
def results = criteria.list{ 
                          like('categoryName', "%abc%") or
                          like('categoryName', "%qwe%") 

                        };

但是对于未知数量的字符串值我如何做到这一点? 我想做类似的事情:

def results = criteria.list{  
for (str in strList){
like('categoryName', str) or
                          }
                        };

但当然这是行不通的。

i can do this:

def criteria = Category.createCriteria();
def results = criteria.list{ 
                          like('categoryName', "%abc%") or
                          like('categoryName', "%qwe%") 

                        };

but how i do it for unknown number of string values?
i would like do something like:

def results = criteria.list{  
for (str in strList){
like('categoryName', str) or
                          }
                        };

but ofcourse it doesnt work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦里°也失望 2025-01-09 14:36:59

使用 或 { }

def criteria = Category.createCriteria()
def results = criteria.list {
    or {
        strList.each { str ->
            like('categoryName', "%${str}%")
        }
    }
}

Use or { }:

def criteria = Category.createCriteria()
def results = criteria.list {
    or {
        strList.each { str ->
            like('categoryName', "%${str}%")
        }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文