0

私は 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で働いていた人である私は、このコードを次の3つのステップとして視覚化します

  1. 選択クエリを実行して quizInstance を取得する
  2. 選択クエリを実行して質問を取得する
  3. 挿入クエリを実行して QUIZ_QUESTION テーブルに質問を挿入します

3 番目のステップではクイズ ID と質問 ID のみが必要であり、最初の 2 つのステップを実行する理由がわかりました。私が言うために使用できる「addTo」の種類の静的メソッドはありQuiz.addToQuestionAndQuiz(questionId,QuizId) ますか? データベース側で物事が進む方法を想定するのが間違っている場合は、修正してください。

また、addTo メソッドを使用して値のリストを直接追加する方法はありますか、それとも for ループを使用する必要がありますか?

4

1 に答える 1

0

これは単なる提案です-これが正しく機能するかどうかはわかりません:

String id =params.quizId
List<Question> questionList = Question.findAllByIdInList(params.questionCheckBox)
Quiz quizInstance = Quiz.get(Long.parseLong(id))
quizInstance.questions += questionList

それがあなたのために働くかどうか私に知らせてください

于 2012-09-13T13:11:13.710 に答える