だから私は検索機能を作ろうとしています。私はHibernates Create Criteriaを使ってそれを成し遂げようとしています。2つの値で検索しています。値の 1 つが 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 になった場合は、一方が 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