2016-06-16 6 views
-1

Это мой домен:Сохранение базы данных в 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

Какая ошибка? – Raidri

ответ

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

Если вы хотите Acces свойство объекта, динамически созданного имени, вы nedd использовать []. И remeber "rating" - это строка и должна быть в круглых скобках.

Вы также можете опустить !="" в if, потому что пустая строка равна falsy значение.

Чтобы сохранить объект в базе данных, вам необходимо позвонить save.

Смежные вопросы