MB: PDO Attribut Probleme

Beitrag lesen

moin Community,

ich habe Probleme beim unstellen von \PDO::FETCH_BOTH (ich nehme an standard) zu \PDO::FETCH_OBJ Konstanten in meiner Database-Klasse.

Es geht wahrscheinlich um die Methode $this->getAttributs(). In ihr sind alle Konstanten in einer privaten Property Array $this->attributsenthalten sind, wie \PDO::ERRMODE_SILENT, \PDO::CASE_LOWER mit \PDO::FETCH_OBJ:

Die transmission()-Methode sorgt für die Erzeugung und trennen der Verbindung, das Landen der Attribut-Konstanten und Verschichten der Prepared Statements und Empfangen des Results.

private function transmission( callable $cargo, string $query, array $params = [] ) {
  $this->connect();
  $this->getAttribute();
  try {
    $statement = $this->handler->prepare( $query );
    $statement->execute( $params );
    $result = $cargo( $statement );
  } catch( PDOException $e ) {
    /** @ToDo Exception */
  }
    $this->disconnect();
    return  $result;
}

Die Methode transmission() wird von einer der öffentlichen Methoden wie getAll() aufgerufen.

public function getAll( string $query, array $params = [] ) : array {
  return $this->transmission( function( $statement ) {
    return $statement->fetchAll();
  }, $query, $params );
}

selbst wenn ich in dieser getAll()-Methode, das Statement, das zuvor das Prepared Statement an die Datenbank geschickt hat, fetchAll() zusätzlich \PDO::FETCH_OBJ noitiere, gibt das Statement Objekt als $resultnur Daten in Form von \PDO::FETCH_BOTH zurück 😕. Ich bin echt Überfragt wo das Problem istr und wie ich es lösen damit vom Standart \PDO::FETCH_BOTH wieder z.B. \PDO::FETCH_OBJ wird?.

vlg MB