grails createCriteria我如何循环限制

时间:2012-02-02 14:54:27

标签: grails loops createcriteria

我可以这样做:

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
                          }
                        };

但当然它不起作用。

1 个答案:

答案 0 :(得分:9)

使用or { }

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