在Grails中保存到数据库

时间:2016-06-16 10:01:56

标签: java grails

这是我的域名:

class UserFeedBack 
{
    int rating1
    int rating2
    int rating3
    int rating4
    int rating5
}

这是我的控制者:

def addResponse(params)
{
    UserFeedBack feedback_response = new UserFeedBack()
    def answer =JSON.parse(params.answer)//this comes from ajax
    for(int i=1;i<=5;i++)
    {
       if(feedback_response.rating+i!="")
       {
            feedback_response.rating+i=answer.rating+i.toInteger()
       }
    }
}

这是编译时错误 有没有类似于保存到数据库的方法?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

for(int i=1;i<=5;i++){    
    if(feedback_response['rating'+i]){    
        feedback_response['rating'+i] = (answer['rating'+i] as Integer)

        feedback_response.save(flush:true)
    }
}

如果要通过动态创建的名称访问对象的属性,则需要使用[]。记住"rating"是字符串,需要在括号中。

您还可以在!=""子句中省略if,因为空字符串的值为falsy

要将对象持久保存到数据库,您需要调用save