在yii格式中具有多个radiobuttonlist

在yii格式中具有多个radiobuttonlist,yii,model,radiobuttonlist,Yii,Model,Radiobuttonlist,我有一个名为“Myform”的模型,每个Myform有25个问题(问题本身不存储在数据库中)。每个问题的答案存储在另一个表(表)中,因此表单和答案之间存在一对多关系。我想将表格中的每个问题显示为radiobuttonlist,然后在数据库中保存或检索数据。我知道我可以显示这样的单选按钮: <?php echo $form->radioButtonList($model,'question', array('1'=>'option1 ', '2'=>'option 2 ',

我有一个名为“Myform”的模型,每个Myform有25个问题(问题本身不存储在数据库中)。每个问题的答案存储在另一个表(表)中,因此表单和答案之间存在一对多关系。我想将表格中的每个问题显示为radiobuttonlist,然后在数据库中保存或检索数据。我知道我可以显示这样的单选按钮:

<?php echo $form->radioButtonList($model,'question', array('1'=>'option1 ', '2'=>'option 2 ', '3'=>'option3 ')); ?>

现在,我应该如何显示/保存其他问题?第二个、第三个问题的原因我的第二个参数中需要类似于问题2、问题3的内容,而模型中实际不存在des。

如果要为每个模型保存25个答案,则需要在答案表中保留25列,其中每行代表25个答案的记录

您的表应该有id、name(或任何其他信息)、answer1、answer2、answer3等列

当您收到答案时,应使用

$answerModel->answer1 = $_POST['QuestionForm']['question1'];
$answerModel->answer2 = $_POST['QuestionForm']['question2'];
$answerModel->answer3 = $_POST['QuestionForm']['question3'];
... so on ...

为什么要使用单独的模型?如果您使用db表的模型,您可以简单地使用不同的列作为表单字段名…您的意思是在第一个表中添加25个字段作为答案更好吗?这完全取决于表的结构以及您希望存储表单信息的方式。。。如果没有这些方面的支持,很难说最佳实践应该是什么
$answerModel->answer1 = $_POST['QuestionForm']['question1'];
$answerModel->answer2 = $_POST['QuestionForm']['question2'];
$answerModel->answer3 = $_POST['QuestionForm']['question3'];
... so on ...