1

ここで大きな助けが必要です。フォームをループしてバッチ挿入を行う必要がある yii アプリケーションを開発しています。私は yii で bacth update を見つけましたが、バッチ挿入と検証を行う方法を確認できませんでした。助けてください。

これが私の見解です:

<?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 } ?>

コントローラー ::

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));

    }
4

1 に答える 1

0

ユーザー入力をバッチモードで収集したい場合があります。つまり、ユーザーは複数のモデル インスタンスの情報を入力し、それらを一度に送信できます。入力フィールドは多くの場合、HTML テーブルで表示されるため、この表形式の入力と呼びます。

表形式の入力を操作するには、データを挿入するか更新するかに応じて、最初にモデル インスタンスの配列を作成または設定する必要があります。次に、$_POST 変数からユーザー入力データを取得し、それを各モデルに割り当てます。単一のモデル入力とのわずかな違いは、$_POST['ModelClass'] の代わりに $_POST['ModelClass'][$i] を使用して入力データを取得することです。

表形式の入力の収集の詳細

于 2012-07-19T05:39:04.503 に答える