如何使用条件或条件查找grails
如果其中三个字段(firstName-lastName-email)中的任何一个包含查询字符串,我需要上面的示例代码来查找这些对象如何使用条件或条件查找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+'%')}
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")
}