Grails createCriteria语法错误

时间:2018-08-24 08:53:55

标签: grails groovy createcriteria

我正在尝试创建一个出现在其他两个列表中的任何一个的公司列表。我可以设法创建出现在其他1个列表中的公司列表,如下所示:-

       List masterList = Companies.createCriteria().list(){
            'in'("companyname", alistofcompanies) 
            and {
                or{
                    eq("type","T1")
                    eq("type","T2")
                }                
             order ("companyname")
            }     
        }

但是我不知道该如何寻找另外两个列表中的任何一个。我试过了:-

    List masterList = Companies.createCriteria().list(){
            or{
               'in'("companyname", alistofcompanies) 
               'in'("companyname", anotherlistofcompanies)
             }
            and {
                or{
                    eq("type","T1")
                    eq("type","T2")
                }                
             order ("companyname")
            }     
      }

但是它给了我一个语法错误。

有什么提示我应该如何构造它?

1 个答案:

答案 0 :(得分:2)

我看不到任何语法问题,除非您可以改进代码并且它可以工作。

 List masterList = Companies.createCriteria().list() {
            'in'("companyname", alistofcompanies + anotherlistofcompanies)
            'in'("type", ["T1", "T2"])
             order("companyname")
  }