5

私はgrailsアプリを開発していますが、すでに「name」、「bio」、「birthDate」などのユーザーに関する情報を持つドメインクラス「ExtendedUser」を持っています。現在、ユーザーの年齢に関する統計を計画しているので、別のコントローラー「StatisticsController」を作成しました。すべての生年月日をローカル配列に保存して、それを使用して複数の計算を管理できるようにするという考えです。

class StatisticsController {
//    @Secured(["ROLE_COMPANY"])
    def teststat(){
        def user = ExtendedUser.findAll()   //A list with all of the users
        def emptyList = []    //AN empty list to store all the birthdates
        def k = 0
        while (k<=user.size()){
            emptyList.add(user[k].birthDate) //Add a new birthdate to the emptyList (The Error)
            k++
        }
        [age: user]
    }
}

テストすると、次のエラー メッセージが表示されます: null オブジェクトでプロパティ 'birthDate' を取得できません。だから私の質問は、すべての生年月日を単一の配列またはリストに格納する最善の方法は何か、それで計算できるようにすることです。ありがとうございました

4

3 に答える 3

4

私はこのアプローチを使用します:

def birthDates = ExtendedUser.findAll().collect { it.birthDate }

このcollectメソッドは、コレクションの各要素を変換し、変換されたコレクションを返します。この場合、ユーザーは生年月日に変換されています。

于 2013-06-22T02:12:07.667 に答える
0

試すことができますか:

List dates = ExtendedUser.findAll().birthDate
于 2013-06-21T22:34:52.007 に答える