4

コントローラー内のgrailsでnamedQueryを呼び出すことは可能ですか? 私は別のnamedQuery内でnamedQueryを呼び出すことができることを知っていますが、私はそれをしたくありません. 何か案は?ありがとう

ユーザー.groovy

static namedQueries = {
      filterUsers{
            eq("age", 21)
      }
}

MyController .groovy

def r = User.createCriteria().list {
     eq("id", 1)
     filterUsers() //not possible
}

また..

MyController .groovy

    //not possible too
    //Cannot invoke method createCriteria() on null object

    def r = User.filterUsers().createCriteria().list {
         eq("id", 1)           
    }
4

1 に答える 1

4

次に例を示します。

ドメイン:

class User {

    int age
    String userName

    static namedQueries = {
        filterUsers {
            eq("age", 21)
        }
    }

    static constraints = {
    }
}

コントローラ:

class TestController {

    def index = {

        def users = User.filterUsers {
            and {
                like 'userName', 'Derek%'
            }
        }

        render users as JSON
    }
}

また、これについて詳しくは、こちらを参照してください:リファレンス ドキュメント

于 2011-04-17T23:52:26.587 に答える