예제 #1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Respuesta::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['idPregunta' => $this->idPregunta]);
     $query->andFilterWhere(['like', 'id', $this->id])->andFilterWhere(['like', 'codFormulario', $this->codFormulario])->andFilterWhere(['like', 'descripcion', $this->descripcion]);
     return $dataProvider;
 }
예제 #2
0
 /**
  * Finds the Respuesta model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param string $id
  * @param integer $idPregunta
  * @param string $codFormulario
  * @return Respuesta the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id, $idPregunta, $codFormulario)
 {
     if (($model = Respuesta::findOne(['id' => $id, 'idPregunta' => $idPregunta, 'codFormulario' => $codFormulario])) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
 public function guardarRespuestas(array $respuestas)
 {
     DB::transaction(function () use($respuestas) {
         foreach ($respuestas as $name => $value) {
             //ubicamos la pregunta por su nombre
             /** @var Pregunta $pregunta */
             $pregunta = Pregunta::where(function ($query) use($name) {
                 $query->where('name', $name)->orWhere('name', "{$name}[]");
             })->where('encuesta_id', $this->encuesta_id)->first();
             if (!$pregunta) {
                 continue;
             }
             //Cargamos su respuesta
             /** @var Respuesta $respuesta */
             $respuesta = Respuesta::where('resolucion_id', $this->id)->where('pregunta_id', $pregunta->id)->first();
             if ($pregunta && $respuesta) {
                 $respuesta->texto = is_array($value) ? implode('<br />', $value) : $value;
                 $respuesta->save();
             }
         }
         $this->fecha_entrega = date('Y-m-d H:i:s');
         $this->estado = 'completa';
         $this->save();
     });
 }
예제 #4
0
 public function destroyPregunta($id)
 {
     try {
         $pre = Pregunta::find($id);
         $list = DB::table('respuesta')->where('pregunta', '=', $pre->id)->get();
         //return $list;
         if (!empty($list)) {
             foreach ($list as &$value) {
                 $res = Respuesta::find($value->id);
                 $res->delete();
             }
         }
         $pre->delete();
         return JsonResponse::create(array('message' => "Pregunta Eliminada Correctamente", "request" => json_encode($id)), 200);
     } catch (Exception $ex) {
         return JsonResponse::create(array('message' => "No se pudo Eliminar la pregunta", "exception" => $ex->getMessage(), "request" => json_encode($id)), 401);
     }
 }
예제 #5
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getRespuestas()
 {
     return $this->hasMany(Respuesta::className(), ['idPregunta' => 'id', 'codFormulario' => 'codFormulario']);
 }