我需要一个大帮助。 AM开发一个yii应用程序,我必须遍历我的表单并进行批量插入。我在yii中找到了bacth更新,但我还没有看到如何进行批量插入和验证。请帮忙。
这是我的观点:
<?php for($i=0;$i< $this->getDisplayArchModel();$i++) {?>
<FIELDSET class="radios">
<div class="row">
<?php echo $form->labelEx($model,'competency_type'); ?>
<?php echo $form->textField($model,'competency_type'); ?>
<?php echo $form->error($model,'competency_type'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'definition'); ?>
<?php echo $form->textArea($model,'definition'); ?>
<?php echo $form->error($model,'definition'); ?>
</div>
</fieldset>
<?php } ?>
Controller ::
public function actionDisplayArchModel()
{
$validateCat = $this->getDisplayArchModel();
if($validateCat == NULL)
$this->redirect(array('architecture'));
$model = new CompetencyType;
if(isset($_POST['CompetencyType']))
{
$model->attributes = $_POST['CompetencyType'];
if($model->validate()){
foreach($_POST['CompetencyType'] as $value)
{
echo $value;
}
}
}
$this->render('displayArchModel' ,array('model'=>$model));
}
答案 0 :(得分:0)
有时我们希望以批处理模式收集用户输入。也就是说,用户可以输入多个模型实例的信息并一次提交所有模型实例。我们称之为表格输入,因为输入字段通常显示在HTML表格中。
要使用表格输入,我们首先需要创建或填充模型实例数组,具体取决于我们是否插入或更新数据。然后,我们从$ _POST变量中检索用户输入数据,并将其分配给每个模型。与单一模型输入略有不同的是我们使用$ _POST ['ModelClass'] [$ i]而不是$ _POST ['ModelClass']检索输入数据。
更多关于收集Tabular Input
的信息