我正在创建一个类似于online exam system
的项目,其中教师创建问题并回答类型input
或radio button
等。我将这些记录保存在数据库和用户登录中并查看相应的输入类型的表格。
如何在用户表单上创建这些字段?我的数据库非常简单,如下所示
Questions information
id id
teacher_id user_id
subject_id question_id
question answer
input_type
is_required
所以我遇到了一个问题,我怎么能在用户视图文件上创建这些字段?我应该只创建一个information
模型的实例并使用数组打印字段吗?或者我应该创建information
模型的不同实例,如下所示
foreach($modelInformation as $i=>$modelInformation){
echo $form->field($modelInformation, "[{$i}]answer")->textInput();
}
这样的东西?或者有一些简单的方法可以做到这一点?我很困惑,因为我不知道如果我这样做,我怎么能给出验证?因为有些问题可以选择,其他问题必须回答。如果有任何示例项目可用于类似场景而不是指向我,我将继续工作。谢谢
答案 0 :(得分:1)
可以使用html
帮助程序执行此操作。假设您已定义了question
和信息`模型之间的关系,您可以创建一个活动字段,并将字段类型作为文本参数传递,如下所示。
echo Html::activeInput($modelInformation->question->input_type, $modelInformation, 'answer');
要进行验证,您可能需要创建standalone validator并使用switch语句根据$model->question->input_type
答案 1 :(得分:0)
我认为有很多方法可以创建该项目,这取决于客户想要什么或开发人员想要实现什么。 我建议您按照以下方式尝试: