Я новичок в Grails, и у меня есть проблема. У меня есть метод, который получает некоторые данные и сопоставляет данные с createCriteria и возвращает данные. Он работает нормально, но я хочу сделать это сейчас, если он совпадает с пятью параметрами, которые у меня есть в методе, и если он совпадает с пятью параметрами, попробуйте, если он соответствует четырем параметрам и возвращает данные, если не соответствует четырем параметрам, попробуйте, если они соответствуют трем, и верните данные....
Но не совсем уверен, как я могу поместить все это в оператор if и вернуть свой результат.dataPerson или, может быть, мне нужно найти другой способ сделать это.
Мой метод:
def getPersonData(String name, String surname, String address, String phone){
def searchdataPerson = ClientConfig.createCriteria()
def result = searchdataPerson.get{
and{
or{
eq('surname', surname)
isNull('surname')
}
or{
eq('address', address)
isNull('address')
}
or{
eq('phone', phone)
isNull('phone')
}
or{
eq('name', name)
isNull('name')
}
}
maxResults(1)
}
return result.dataPerson
}
Я пытаюсь сделать что-то подобное, но это не работает
def searchdataPerson = ClientConfig.createCriteria()
def result = searchdataPerson .get{
if(eq('name', name) && eq('surname', surname) && eq('address', address) && eq('phone', phone)){
}else if(eq('name', name) && eq('surname', surname) && eq('address', address)){
}
maxResults(1)
}
return result.dataPerson
Я получаю эту ошибку:
java.lang.NullPointerException: Cannot get property 'dataPerson' on null object