我一直在使用 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 上工作的人,我将这段代码可视化为以下三个步骤
- 运行选择查询以获取 quizInstance
- 运行选择查询以获取问题
- 运行插入查询以在 QUIZ_QUESTION 表中插入问题
我确实看到第三步只需要 quiz id 和 Question id 然后为什么要执行前两个步骤。是否有一种“addTo”类型的静态方法,我可以用Quiz.addToQuestionAndQuiz(questionId,QuizId)
来说如果我假设事情将在数据库方面进行的方式有误,请纠正我。
还有一种方法可以直接使用 addTo 方法添加值列表,还是必须使用 for 循环?