Hi I’m using Yii2 advanced and I’m trying to insert multiple data of one model using the same form it’s like invoices system inserting multiple products by same form, it’s for inserting data of student one then student 2 then student 3 … at once but I didn’t succeed.
My View File is :
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, '[0]studentName')->textInput(['maxlength' => true])->label('NAME') ?>
<?= $form->field($model, '[0]studentEmail')->textInput(['maxlength' => true])->label('EMAIL') ?>
<?= $form->field($model, '[0]studentCode')->textInput(['maxlength' => true])->label('CODE') ?>
<!-- -->
<?= $form->field($model, '[1]studentName')->textInput(['maxlength' => true])->label('NAME') ?>
<?= $form->field($model, '[1]studentEmail')->textInput(['maxlength' => true])->label('EMAIL') ?>
<?= $form->field($model, '[1]studentCode')->textInput(['maxlength' => true])->label('CODE') ?>
<!-- -->
<?= $form->field($model, '[2]studentName')->textInput(['maxlength' => true])->label('NAME') ?>
<?= $form->field($model, '[2]studentEmail')->textInput(['maxlength' => true])->label('EMAIL') ?>
<?= $form->field($model, '[2]studentCode')->textInput(['maxlength' => true])->label('CODE') ?>
....
<?= $form->field($model, 'note')->textInput(['maxlength' => true])->label('NOTE') ?>
<div class="form-group">
<?= Html::submitButton('Save', ['class' => 'btn btn-success']) ?>
</div>
<?php ActiveForm::end(); ?>
And my controller create action is :
public function actionCreateClass($ssid)
{
$program = new Program(); $model = new ClassC(); $session = $this->findSession($ssid)
if ($model->load(Yii::$app->request->post()))
{
$program->title = 'PHP'. date('Y') .$session->title;
$program->note = $model->note;
$program->save();
foreach ($model->studentCode as $SC)
{
$student = $this->findStudent($SC);
$model;
$model->program = $program->program_id;
$model->save();
}
return $this->redirect(['programe', 'id' => $program->program_id]);
}
return $this->render('createClass', [
'model' => $model,
]);
I tried using var_dump to know what I get as return but my var_dump return NULL in var_dump($model)
. I also tried to use
(Model::loadMultiple($model, Yii::$app->request->post()))
but I get error
Call to a member function formName() on array