如何使用条件或条件查找grails

如何使用条件或条件查找grails,grails,criteria,Grails,Criteria,如果其中三个字段(firstName-lastName-email)中的任何一个包含查询字符串,我需要上面的示例代码来查找这些对象 thnks尝试在一个或 String query='test' def user = User.withCriteria { ilike('firstName', '%'+query+'%') or {ilike('lastName', '%'+query+'%')} or {ilike('email', '%'+query+'%')}

如果其中三个字段(firstName-lastName-email)中的任何一个包含查询字符串,我需要上面的示例代码来查找这些对象
thnks

尝试在一个

String query='test'
def user = User.withCriteria {
    ilike('firstName', '%'+query+'%')
    or {ilike('lastName', '%'+query+'%')}
    or {ilike('email', '%'+query+'%')}
    }
您还可以打开SQL调试来查看查询是如何生成的。

您可以这样做

or {
ilike('firstName', '%'+query+'%'),
ilike('lastName', '%'+query+'%'),
ilike('email', '%'+query+'%')
}

我的解决方案有效吗?是的,有效。
 String query='test'
    def crit = User.createCriteria()
    def user = User.list{
      or{
        ilike('firstName', '%'+query+'%')
        ilike('lastName', '%'+query+'%')
        ilike('email', '%'+query+'%')
        }
      maxResults(1000)
      order("firstName")
     }