diff --git a/src/Extensions/DoctrineConnectionFetchDynamicReturnTypeExtension.php b/src/Extensions/DoctrineConnectionFetchDynamicReturnTypeExtension.php index 4a749134e..ed6c04271 100644 --- a/src/Extensions/DoctrineConnectionFetchDynamicReturnTypeExtension.php +++ b/src/Extensions/DoctrineConnectionFetchDynamicReturnTypeExtension.php @@ -28,9 +28,11 @@ final class DoctrineConnectionFetchDynamicReturnTypeExtension implements Dynamic 'fetchallassociative', 'fetchnumeric', 'fetchallnumeric', + 'fetchallkeyvalue', 'iteratecolumn', 'iterateassociative', 'iteratenumeric', + 'iteratekeyvalue', ]; public function getClass(): string diff --git a/tests/data/doctrine-dbal.php b/tests/data/doctrine-dbal.php index 1059a29d1..9ca8a985b 100644 --- a/tests/data/doctrine-dbal.php +++ b/tests/data/doctrine-dbal.php @@ -108,6 +108,13 @@ public function iterateColumn(Connection $conn) assertType('Traversable', $fetchResult); } + public function iterateKeyValue(Connection $conn) + { + $query = 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE adaid = ?'; + $fetchResult = $conn->iterateKeyValue($query, [1]); + assertType('Traversable>', $fetchResult); + } + public function fetchOne(Connection $conn) { $query = 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE adaid = ?'; @@ -135,4 +142,11 @@ public function fetchAllAssociative(Connection $conn) $fetchResult = $conn->fetchAllAssociative($query, [1]); assertType('array, array{email: string, adaid: int<0, 4294967295>, gesperrt: int<-128, 127>, freigabe1u1: int<-128, 127>}>', $fetchResult); } + + public function fetchAllKeyValue(Connection $conn) + { + $query = 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE adaid = ?'; + $fetchResult = $conn->fetchAllKeyValue($query, [1]); + assertType('array>', $fetchResult); + } }