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->attributs
enthalten 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 $result
nur 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