function setRAlumno($idRespuesta) { $respuesta = RespuestaExamen::findOne($idRespuesta); foreach ($this->rAlumno as $r) { if ($r->idRespuesta->id_pregunta == $respuesta->id_pregunta) { unset($r); } } //falta obtener el id de la persona $this->rAlumno[] = $this->rAlumno = $respuesta; }
/** * Creates a new Pregunta model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Pregunta(); $modelRespuestaExamen = [new RespuestaExamen()]; $model->load(Yii::$app->request->post()); $modelRespuestaExamen = DynamicFormModel::createMultiple(RespuestaExamen::className()); DynamicFormModel::loadMultiple($modelRespuestaExamen, Yii::$app->request->post()); $valid = $model->validate() && DynamicFormModel::validateMultiple($modelRespuestaExamen); if ($valid) { $this->negocio->savePregunta1($model, $modelRespuestaExamen); $dataProvider = new ActiveDataProvider(['query' => RespuestaExamen::find()->where(['id_pregunta' => $model->id])->orderBy('id')]); return $this->redirect(['view', 'id' => $model->id, 'dataProvider' => $dataProvider]); } else { return $this->render('create', ['model' => $model, 'modelRespuestaExamen' => empty($modelsRespuestaExamen) ? [new RespuestaExamen()] : $modelsRespuestaExamen]); } }
/** * @return \yii\db\ActiveQuery */ public function getRespuestaExamens() { return $this->hasMany(RespuestaExamen::className(), ['id_pregunta' => 'id']); }
public function updatePregunta($model) { $modelRespuestaExamen = $model->respuestaExamens; $oldIDs = ArrayHelper::map($modelRespuestaExamen, 'id', 'id'); $modelRespuestaExamen = DynamicFormModel::createMultiple(RespuestaExamen::classname(), $modelRespuestaExamen); DynamicFormModel::loadMultiple($modelRespuestaExamen, Yii::$app->request->post()); $deletedIDs = array_diff($oldIDs, array_filter(ArrayHelper::map($modelRespuestaExamen, 'id', 'id'))); if ($model->validate() && DynamicFormModel::validateMultiple($modelRespuestaExamen)) { $transaction = Yii::$app->db->beginTransaction(); try { $model->file = UploadedFile::getInstance($model, 'file'); if ($model->file != NULL) { $this->getImagePregunta($model); } if ($model->save(false)) { if ($model->file != NULL) { $model->file->saveAs($model->imagen); } // if (! empty($deletedIDs)) { // RespuestaExamen::deleteAll(['id' => $deletedIDs]); // } foreach ($modelRespuestaExamen as $i => $modelRespuestaExamen) { $modelRespuestaExamen->imgfile = UploadedFile::getInstance($modelRespuestaExamen, "[{$i}]imgfile"); if ($modelRespuestaExamen->imgfile != NULL) { $this->getImageRespuesta($modelRespuestaExamen); } if (!($flag = $modelRespuestaExamen->save(false))) { $transaction->rollBack(); return false; } $modelRespuestaExamen->link('idPregunta', $model); if ($modelRespuestaExamen->imgfile != NULL) { $modelRespuestaExamen->imgfile->saveAs($modelRespuestaExamen->imagen); } } } $transaction->commit(); return true; } catch (Exception $e) { print_r($e); $transaction->rollBack(); return false; } } else { return false; } }
/** * Finds the RespuestaExamen model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return RespuestaExamen the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = RespuestaExamen::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * @return \yii\db\ActiveQuery */ public function getIdRespuesta() { return $this->hasOne(RespuestaExamen::className(), ['id' => 'id_respuesta']); }
<div class="container-items"><!-- widgetBody --> <?php foreach ($preguntas as $i => $pregunta) { ?> <div class="item panel panel-default"><!-- widgetItem --> <div class="panel-heading"> <h3 class="panel-title pull-left"><?php echo $pregunta->nro_pregunta . "-" . $pregunta->descripcion_pregunta; ?> </h3> <div class="clearfix"></div> </div> <div class="panel-body"> <?php echo $form->field($respuestasAlumno[$i], "[{$i}]id_respuesta")->radioList(ArrayHelper::map(RespuestaExamen::find()->where(['id_pregunta' => $pregunta->id])->all(), 'id', 'descripcion_respuesta'))->label(false); $form->field($respuestasAlumno[$i], "[{$i}]id_inscripcion", ['options' => ['value' => $idInscripcion]])->hiddenInput()->label(false); ?> </div> </div> <?php } ?> </div> </div> </div><!-- .panel --> <?php DynamicFormWidget::end(); ?> <div class="form-group"> <?php