안녕하세요 나는 다음과 같은 기능이 있습니다논리 오류
def signup(String name){
def x =Human.where{name == name}
if(x != null)
{
def myhuman=new Human(name: name)
if(myhuman.save() && myhuman.validate())
{
redirect(url:"https//localhost:8080")
}
}
else
{
return
}
}
그것은 잘 작동합니다. 다른 이름을 가진 사람을 만들 수 있지만 같은 이름의 사람을 만들 수는 없습니다. 그러나 x!=null
을 확인하는 이유는 x == null
을 확인하면 안됩니다 그리고 그렇지 않으면 우리는 그것을 창조합니다. 내가 x==null
와 함께 시도하고 인간을 만들 수 없다, 누군가 설명 할 수 있을까요?
만약 내가 당신이라면 'if (myhuman.validate() && myhuman.save())'순서를 바꿀 것입니다. 먼저 유효한 인스턴스인지 확인하고 성공한 후에도 유지하려고 시도합니다. –