У меня есть простое представление, которое правильно сохраняет данные в БД, однако, когда я помещаю это представление в модальное всплывающее окно на другую страницу, оно не сохраняет никаких данных в БД, модальное просто отображается. Что еще нужно сделать, чтобы сохранить данные в БД из всплывающего окна? Спасибо
Это контроллер:
public function actionEditMyPopup()
{
$model = new MyPopupForm();
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
$model->insertEditMyPopup();
return $this->renderAjax('edit-mypopup', ['model' => $model]);
} else {
return $this->renderAjax('edit-mypopup', ['model' => $model]);
}
}
Это вид всплывающего окна:
<?php Pjax::begin(['enablePushState' => false]); ?>
<?php $form = ActiveForm::begin(['id' => 'edit-mypopup-form', 'options' => ['data-pjax' => true],]); ?>
<?= $form->field($model, 'attribute1') ?>
<div class="form-group">
<?= Html::submitButton('Submit', ['class' => 'btn btn-primary', 'name' => 'edit-mypopup-button']) ?>
</div>
<?php ActiveForm::end(); ?>
<?php Pjax::end(); ?>
И Модель имеет объявление переменных и функцию insertEditMyPopup(), которые вставляют данные в БД.
<?php
namespace app\models;
use Yii;
use yii\base\Model;
class EditMyPopupForm extends Model
{
public $attribute1;
public function rules()
{
return [
[['attribute1'], 'required'],
];
}
public function insertEditMyPopup()
{
//attributes is the name of the table
$a = new attributes();
$a->att1 = $this->attribute1;
$a->save();
}//end function
}//end class
insertEditMyPopup()
- person Kalu   schedule 11.09.2017insertEditMyPopup()
- person Kalu   schedule 11.09.2017insertEditPopup()
- person Kalu   schedule 12.09.2017insertEditPopup()
- person Kalu   schedule 12.09.2017