/** * 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; }
/** * 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(); }); }
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); } }
/** * @return \yii\db\ActiveQuery */ public function getRespuestas() { return $this->hasMany(Respuesta::className(), ['idPregunta' => 'id', 'codFormulario' => 'codFormulario']); }