我如何在yii中使用批量插入

时间:2012-07-18 16:45:48

标签: batch-file insert yii

我需要一个大帮助。 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));

    }

1 个答案:

答案 0 :(得分:0)

有时我们希望以批处理模式收集用户输入。也就是说,用户可以输入多个模型实例的信息并一次提交所有模型实例。我们称之为表格输入,因为输入字段通常显示在HTML表格中。

要使用表格输入,我们首先需要创建或填充模型实例数组,具体取决于我们是否插入或更新数据。然后,我们从$ _POST变量中检索用户输入数据,并将其分配给每个模型。与单一模型输入略有不同的是我们使用$ _POST ['ModelClass'] [$ i]而不是$ _POST ['ModelClass']检索输入数据。

更多关于收集Tabular Input

的信息