2016-10-10 4 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ドメインクラスがどのように見えるか、どのような行動クエリを発揮することになっているが、それはするべきかわからないので、これは動作していない理由を私は言うことができませんより簡潔な実装を簡単にデバッグすることができます。