idPregunta = $idPregunta; $this->idCategoria = $idCategoria; $this->nombrePregunta = $nombrePregunta; $this->respuestas = []; } public function getIdPregunta(): ?int { return $this->idPregunta; } public function getIdCategoria(): int { return $this->idCategoria; } public function setIdCategoria(int $idCategoria): void { $this->idCategoria = $idCategoria; } public function getNombrePregunta(): string { return $this->nombrePregunta; } public function setNombrePregunta(string $nombrePregunta): void { $this->nombrePregunta = $nombrePregunta; } public function getRespuestas(): array { return $this->respuestas; } public function guardar() { $conexion = conexionBD(); if (is_array($conexion)) { return $conexion; } try { $sql = "INSERT INTO pregunta (idCategoria, nombrePregunta) VALUES (:idCat, :texto)"; $stmt = $conexion->prepare($sql); $stmt->execute([ ':idCat' => $this->idCategoria, ':texto' => $this->nombrePregunta ]); $this->idPregunta = (int)$conexion->lastInsertId(); return [ 'exito' => 'Pregunta guardada correctamente', 'exito_tecnico' => $this->idPregunta ]; } catch (PDOException $error) { return [ 'error' => 'Ocurrió un error al guardar la pregunta.', 'error_tecnico' => $error->getMessage() ]; } } public static function getTodosIds()//devuelve solamente los id de todas las preguntas { $conexion = conexionBD(); if (is_array($conexion)) { return $conexion; } try { $consulta = $conexion->prepare("SELECT idPregunta FROM pregunta"); $consulta->execute(); return $consulta->fetchAll(PDO::FETCH_COLUMN); } catch (PDOException $error) { return [ "error" => "Ocurrió un error al obtener el listado.", 'error_tecnico' => $error->getMessage() ]; } } }