我一直在使用Grails addTo和removeFrom动态方法,它们很棒,通常我会按照以下方式使用它们
String id =params.quizId
Quiz quizInstance = Quiz.get(Long.parseLong(id))// **1**
for( String q in params.questionCheckBox)
{
Question question = Question.get(Long.parseLong(q))//**2**
quizInstance.addToQuestions(question)//**3**
}
作为一个曾经在java上工作的人,我按照以下三个步骤可视化这段代码
我确实看到第三步只需要测验ID和问题ID然后为什么要执行前两步。是否有一种“addTo”类型的静态方法,我可以用它来说Quiz.addToQuestionAndQuiz(questionId,QuizId)
如果我错误地假设数据库方面会有问题,请纠正我。
还有一种方法可以使用addTo方法直接添加值列表,还是必须使用for循环?
答案 0 :(得分:0)
这只是一个建议 - 我不知道这是否会正常工作:
String id =params.quizId
List<Question> questionList = Question.findAllByIdInList(params.questionCheckBox)
Quiz quizInstance = Quiz.get(Long.parseLong(id))
quizInstance.questions += questionList
让我知道这是否适合您