【问题标题】:Saving to database in Grails在 Grails 中保存到数据库
【发布时间】:2016-06-16 10:01:56
【问题描述】:

这是我的域名:

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()
       }
    }
}

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

【问题讨论】:

  • 错误是什么?

标签: java grails


【解决方案1】:

试试这样的:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    • 2015-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多