Добрый день, знаю что всех достал уже вопросами, но помогите, пожалуйста, как обновить разные данные в двух таблицах из одной формы?
Есть таблица "features" и таблица "features_value", на сайте выглядит так где есть свойства и его значения:
и есть форма которая должна сохранять как данные в таблицу "features" и его значения в "features_value"!
Сама форма:
<?php $form = ActiveForm::begin(); ?>
<div class="row my-row-clear">
<div class="col-lg-8 my-class-bg">
<?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'url')->textInput(['maxlength' => true]) ?>
</div>
<div class="col-lg-3 col-lg-offset-1 my-class-bg">
<?= $form->field($model, 'url_in_product')->dropDownList([0 => 'Нет', 1 => 'Да'], ['options' => ['0' => ['Selected' => true]]]) ?>
<?= $form->field($model, 'in_filter')->dropDownList([0 => 'Нет', 1 => 'Да']) ?>
</div>
</div>
<div class="value">
<div class="value__title" style="display: flex;margin-bottom: 16px">
<h4>Значения свойства</h4>
<div class="value__btn" style="margin-left: 25px">
<!-- --><?//= Html::a('Добавить значение', ['create-value'], ['class' => 'btn btn-success', 'data-toggle' => 'modal', 'data-target' => '#w0']) ?>
<!-- --><?//= Html::a('Добавить значение', Url::to(['add-value', 'id' => $model->id]), ['class' => 'btn btn-success']) ?>
<?= Html::a('Добавить значение', Url::to(['add-value', 'id' => $model->id]), ['class' => 'btn btn-success', 'data-toggle' => 'modal', 'data-target' => '#w0']) ?>
</div>
</div>
<table class="table">
<thead class="thead-dark" style="background-color: #222;color: #fff;">
<tr>
<th scope="col"></th>
<th scope="col">Значение</th>
<th scope="col">Кол-во товаров</th>
<th scope="col">Индексировать</th>
<th scope="col"></th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
<?php if($features):?>
<?php foreach ($features as $fv): ?>
<tr>
<th scope="row"></th>
<td>
<?= $form->field($fv, 'value')->textInput(['maxlength' => true])->label(false); ?>
</td>
<td>*</td>
<td>
<?= $form->field($fv, 'to_index')->dropDownList([0 => 'Нет', 1 => 'Да'], ['options' => ['0' => ['Selected' => true]]])->label(false); ?>
</td>
<td></td>
<td>
<?= Html::a('x', Url::to(['features/delvalue', 'id' => $fv->id]), ['data-method' => 'POST']) ?>
</td>
</tr>
<?php endforeach; ?>
<?php else:?>
<tr>
<td></td>
<td>
<span>Значения для данного свойства не добавлены</span>
</td>
</tr>
<?php endif;?>
</tbody>
</table>
</div>
<div class="form-group">
<?= Html::submitButton('Сохранить данные', ['class' => 'btn btn-success']) ?>
</div>
<?php ActiveForm::end(); ?>
и стандартный контроллер который только обновляет "features" а "features_value" значения не обновляться, как сделать так чтоб они тоже обновлялись?
Сам Controller:
public function actionUpdate($id)
{
$model = $this->findModel($id);
$features = FeaturesValue::find()->where(['feature_id' => $id])->all();
if ($model->load(Yii::$app->request->post()) && $model->save()) {
Yii::$app->session->setFlash('success', "Настройки сохранены. Изменения отображаются на сайте!");
return $this->redirect(['update', 'id' => $model->id]);
}
return $this->render('update', [
'model' => $model,
'features' => $features,
]);
}