所以即时尝试制作搜索功能。我正在使用Hibernates创建标准来尝试完成它。我正在搜索2个值。如果其中一个值为null,则它将抛出异常,否则它将继续在表中显示有关该搜索的所有信息。
def search(params) {
def r = User.createCriteria()
if (params.searchUsername != 'Enter a Username' && params.searchMPI != 'Enter a User Number') {
def number = params.searchNumber
def username = params.searchUsername
r = User.createCriteria()
def userList = r.list(max: params.max, offset: params.usersOffset) {
and {
ilike('username', '%' + username + '%')
ilike('number', '%' + number + '%')
}
order(params.usersSort, params.usersOrder)
}
}
这是我迄今为止的搜索功能。它搜索用户名和用户号。几乎没有与用户号码相关联的用户名。如果一个或另一个出现null,那么它需要对我大喊大叫,告诉我一个是空的。我一直在这里查看createCriteria信息http://grails.org/doc/2.2.x/ref/Domain%20Classes/createCriteria.html。它作为if NULL方法。看起来似乎只是搜索null的值。有没有办法可以将其实现到我的搜索中?
if ((ilike('username', '%'+ username) || ilike('number', '%' + number) ) == (isNull('username') || isNull('number')){
system.out.println("ONE OF THE VALUES IS NULL!")
我想这会像这样工作。 ^但它没有
我对这一切都很陌生。因此,赞赏建设性的批评= D
答案 0 :(得分:0)
为什么要将这些字符串作为参数提交?你的意思是这样吗?而且,你确定这是一个AND条件?
它作为if NULL方法。看起来似乎只是搜索null的值。有没有办法可以将其实现到我的搜索中?
你能改一下吗? (我不明白你想做什么?)