Таблице в Бд по сути состоит из 4 полей id, code, key, value.
Попробовал сделать так
Код: Выделить всё
public function actionMarket1()
{
$settings = Setting::find()->where(['code' => 'market1'])->all();
if (Model::loadMultiple($settings, Yii::$app->request->post()) && Model::validateMultiple($settings)) {
foreach ($settings as $setting) {
$setting->save();
Yii::$app->session->setFlash('success', "Данные успешно сохранены");
}
return $this->redirect('market1');
}
return $this->render('market1', ['settings' => $settings]);
}
public function actionMarket2()
{
$settings = Setting::find()->where(['code' => 'market2'])->all();
if (Model::loadMultiple($settings, Yii::$app->request->post()) && Model::validateMultiple($settings)) {
foreach ($settings as $setting) {
$setting->save();
Yii::$app->session->setFlash('success', "Данные успешно сохранены");
}
return $this->redirect('market2');
}
return $this->render('market2', ['settings' => $settings]);
}
Код: Выделить всё
<?php $form = ActiveForm::begin(); ?>
<?php
foreach ($settings as $index => $setting) {
switch ($setting['key']) {
case 'apiKey':
echo $form->field($setting, "[$index]value")->label('Ключ Api');
}
}
?>
<div class="form-group">
<?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?>
</div>
<?php ActiveForm::end(); ?>
Код: Выделить всё
<?php $form = ActiveForm::begin(); ?>
<?php
foreach ($settings as $index => $setting) {
switch ($setting['key']) {
case 'login':
echo $form->field($setting, "[$index]value")->label('Логин');
break;
case 'password':
echo $form->field($setting, "[$index]value")->label('Пароль');
break;
}
}
?>
<div class="form-group">
<?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?>
</div>
<?php ActiveForm::end(); ?>
Подскажите в чем может быть причина или возможно посоветуйте как правильно реализовать сохранения разнообразных настроек в одной таблице.