Yii2 как с помощью ActiveForm не создавать новый элемент, а обновить?
Форма:
<?
$form = ActiveForm::begin($config);
?>
<?= $form->field($model, 'save_images_post')->checkbox() ?>
<?= $form->field($model, 'folder_save_images_post')->textInput()?>
<?= $form->field($model, 'save_backups')->checkbox() ?>
<?= $form->field($model, 'folder_save_backups')->textInput()?>
<?= $form->field($model, 'path_backups')->textInput()?>
<?= $form->field($model, 'token_yandex_disk')->textInput()?>
<?= $form->field($model, 'id_yandex_disk')->textInput()?>
<?= $form->field($model, 'password_yandex_disk')->textInput()?>
<?= $form->field($model, 'access_to_more_yandex_disk_link')->checkbox() ?>
<div class="form-group">
<div class="col-sm-offset-3 col-sm-9">
<?= Html::submitButton(Yii::t('app', $status), 'btn btn-success') ?>
</div>
</div>
<?php ActiveForm::end(); ?>
У меня обновление идет в зависимости есть ли элемент или нет. Если есть то обновляется. Это все происходит на странице index.
Вот контроллер -
class DefaultController extends Controller
{
/**
* Renders the index view for the module
* @return string
*/
public function actionIndex()
{
$model = new ApiYandexDiskSettings;
$status = 'update';
if($model->load(Yii::$app->request->post()) && $model->validate()){
$model->save(false);
}
$firstEl = ApiYandexDiskSettings::find()->one();
var_dump($firstEl);
if (empty($firstEl)) {
$status = 'create';
} else {
$status = 'update';
}
return $this->render('index', array('status' => $status, 'model' => $firstEl));
}
}
Пробую обновить с помощью update() но он возвращает false
if(Yii::$app->request->get('status','update')){
$model->update();
}else{
$model->save(false);
}