그래서 검색 기능을 만들려고합니다. 안녕 최대 절전 모드 작성 기준을 사용하여 그것을 얻을려고. 2 개의 값으로 검색 중. 값 중 하나가 null이면 예외를 throw하고, 그렇지 않으면 테이블에 해당 검색에 대한 모든 정보를 계속 표시합니다.최대 절전 모드 만들기 조건
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이라는 것을 알리는 소리를 낼 필요가있다. Iv는 여기에 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
미안하다, 나는 의미했다. Hibernate는 isNull() 메소드를 가지고있다. 이 방법은 사용할 수있는 것처럼 보이지만 null 값만 찾습니다. (하지만 완전히 이해한다면 확실하지 않습니다.) 채워진 테이블 인 경우이 검색입니다. 꽤 많이 있습니다. 내가해야 할 일은 데이터베이스에서 채워진이 테이블을 확인하는 것입니다. 테이블은 사용자 이름과 사용자 번호로 검색 할 수 있어야합니다. 검색하는 사람이 사용자 이름과 번호로 입력해야하는 검색 상자가 두 개 있습니다. 어떤 이유로 이러한 매개 변수 중 하나가 데이터베이스에 null로 표시되면 소리를 내야합니다. – CoffeePeddlerIntern
나는 당신이 조건을 필요로한다고 생각한다. – DAJ