2016-10-10 7 views
0

여기 내 기준에서 잘못된 점을 말해 줄 수 있습니까?그레이의 기준

def users 
    def u = User.createCriteria() 
    users = u.list (max: max, offset: offset) { 

     eq("account",account) 

     and { 

      if(teacherName != null && teacherName != ""){ 
       like("userName", "%"+teacherName+"%") 

      } 

      if(mobileNumber != null && mobileNumber != ""){ 
       like("mobileNumber", "%"+mobileNumber+"%") 

      } 

      eq("status", Status.ACTIVE) 
      eq("userType","Account Teacher") 
     } 


    } 
    return users 
} 

목록이 비어있는 이유는 무엇입니까?

+0

데이터 모델과 원하는 것을 설명해야합니다. – quindimildev

+0

'User' 도메인 클래스를 보지 않고 문제가 무엇인지 말하기는 매우 어렵습니다. –

답변

1

게시 한 코드가 불필요하게 자세한 내용입니다. 동등한 구현은 다음과 같습니다

def users = User.withCriteria(max: max, offset: offset) { 

    eq("account", account) 

    if (teacherName) { 
     like("userName", "%${teacherName}%") 
    } 

    if (mobileNumber) { 
     like("mobileNumber", "%${mobileNumber}%") 
    } 

    eq("status", Status.ACTIVE) 
    eq("userType", "Account Teacher") 
} 

나는이 내가 User 도메인 클래스가 같은 또는 쿼리가 전시되어 어떤 행동을 보이는 것을 알 수 없기 때문에 작동하지 않는 이유를 말할 수 있지만, 그것은에 해야지 보다 간결한 구현을 쉽게 디버그 할 수 있습니다.