同じボタンで同じテーブルの 2 つのレコードを作成したい。表は次のとおりです。
CREATE TABLE `consecuencia` (
`ID_CONSECUENCIA` int(11) NOT NULL AUTO_INCREMENT,
`VALOR_CAT_CONSECUENCIA` varchar(1024) NOT NULL,
`ESTADO` varchar(3) NOT NULL,
PRIMARY KEY (`ID_CONSECUENCIA`)
)
そして、これは私のビュー _form.php です
<?php $form = ActiveForm::begin(); ?>
//FIRST RECORD
<?= $form->field($model, 'VALOR_CAT_CONSECUENCIA')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'ESTADO')->textInput(['maxlength' => true]) ?>
//SECOND RECORD
<?= $form->field($model1, 'VALOR_CAT_CONSECUENCIA')->textInput(['maxlength' => true]) ?>
<?= $form->field($model1, 'ESTADO')->textInput(['maxlength' => true]) ?>
<div class="form-group">
<?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
これは私のコントローラーの私のアクション作成です:
public function actionCreate()
{
$model = new Consecuencia();
$model1 = new Consecuencia();
if ($model->load(Yii::$app->request->post()) && $model1->load(Yii::$app->request->post())
&& $model->save() && $model1->save()) {
return $this->redirect(['view', 'id' => $model->ID_CONSECUENCIA]);
} else {
return $this->render('create', [
'model' => $model,
'model1' => $model1,
]);
}
}
フィールドを挿入するとレコードが複製されるため、 submitButton内に 2 つのモデルを設定する方法が必要です。この例では、以下を挿入します。
- 最初の値 (VALOR_CAT_CONSECUENCIA): 1
- 2 番目の値 (ESTADO): 1
- thirtvalue(VALOR_CAT_CONSECUENCIA) 78
- 4 番目の値 (ESTADO): 78