Отображение полей таблиц три раза и однозначное сохранение значения

У меня проблема с сохранением полей таблиц, отображаемых три раза. Не могу сохранить уникальное значение, сохраняемое в текстовых полях. Пожалуйста, кто-нибудь направит меня к правильному ответу, пожалуйста.

Посмотреть код:

<h2>List of Documents</h2>
<table class="table">
<?php foreach($formlist as $item) { ?>
<tr>
<td><?= $form->field($model, '['.$item->id.']value')->radioList(['yes'=>' yes','no'=>' no'])->label($item['title']); ?></td>
</tr>
<?php } ?>
</table>

Код контроллера:

public function actionCreate()
{
$model = new Form();
$forminfo = new Forminfo();
$forminfo->id = $model->forminfo_id;

/*$sql = 'SELECT * FROM formlist ORDER BY id ASC';
$db = Yii::$app->db;
$formlist = $db->createCommand($sql)->queryAll();*/
// same of ->

$formlist = Formlist::find()->orderBy(['id'=>SORT_ASC])->all();

if ($forminfo->load(Yii::$app->request->post()) && $model->load(Yii::$app->request->post())) {

$forminfo->save(false); // skip validation as model is already validated
$model->forminfo_id =  $forminfo->id; // no need for validation rule on user_id as you set it yourself
$model->save(false);

Yii::$app->getSession()->setFlash('success', 'You have successfully saved your data.');
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model,
'forminfo' => $forminfo,
'formlist' => $formlist,
]);
}
}

0

Решение

Для доступа к табличному вводу вы должны использовать loadMultiple('yourModel')

или петля на

 $post= Yii::$app->request->post());

foreach ($post['your_model'] as $key => $myModel) {

//  $myModel contain the current model
}

это руководство yii2 может быть полезным http://www.yiiframework.com/doc-2.0/guide-input-tabular-input.html

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]