Синтаксическая ошибка Grails createCriteria - PullRequest
0 голосов
/ 24 августа 2018

Я пытаюсь создать список компаний, которые появляются в любом из 2 других списков.Мне удается создать список компаний, фигурирующих в одном другом списке, например: -

       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 голосов
/ 24 августа 2018

Я не вижу проблем с синтаксисом, кроме того, что вы можете улучшить код, и он работает.

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