Я использую Yii2 и пытаюсь вставить несколько данных одной модели, используя в одной форме, это похоже на систему счетов-фактур, вставляющую несколько продуктов по одной форме.
моя точка зрения:
<?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(); ?>
и действие создания моего контроллера:
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,
]);
Я пытался использовать var_dump, чтобы узнать, что я получаю в качестве возврата, но мой var_dump возвращает NULL в var_dump($model)
. Я также пытался использовать
(Model::loadMultiple($model, Yii::$app->request->post()))
но я получаю ошибку
Call to a member function formName() on array