public function actionCreateAjax($modelName, $modelID) { // Esta funcion sirve tanto para dar de alta un mensaje como para darlo de baja, // las dos acciones se hacen por el submit del formulario, la diferencia es que cuando // se hace un alta, el campo estado (que está hidden) viene vacío, cuando viene con el valor 1 significa // que ya existia un mensaje y con el submit lo tiene que dar de baja (lógica) // Esta función solo retorna 1 registro (que tiene que estar activo) $model = Mensajes::getMensajesByModelId($modelName, $modelID); // si no tiene registro activo, se inicializa $model para permitir su alta if (empty($model)) { $model = new Mensajes(); } // toma los valores que vienen por submit if ($model->load(Yii::$app->request->post())) { $model->model = $modelName; $model->model_id = $modelID; // Si estado es 1 significa que ya existia el mensaje y hay que darle baja lógica if ($model->estado == 1) { $model->estado = 0; } if ($model->save()) { Yii::$app->response->format = 'json'; return ['modelP' => $model]; } } return $this->renderAjax('createajax', ['model' => $model, 'modelNameOrigen' => $modelName, 'modelIDOrigen' => $modelID]); }