Skip to content

Commit a6395f2

Browse files
staabmclxmstaab
andauthored
doctrine-dbal: doctrine-dbal: implement fetchAllKeyValue & iterateKeyValue on Connection (#216)
Co-authored-by: Markus Staab <[email protected]>
1 parent bf8188c commit a6395f2

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/Extensions/DoctrineConnectionFetchDynamicReturnTypeExtension.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,11 @@ final class DoctrineConnectionFetchDynamicReturnTypeExtension implements Dynamic
2828
'fetchallassociative',
2929
'fetchnumeric',
3030
'fetchallnumeric',
31+
'fetchallkeyvalue',
3132
'iteratecolumn',
3233
'iterateassociative',
3334
'iteratenumeric',
35+
'iteratekeyvalue',
3436
];
3537

3638
public function getClass(): string

tests/data/doctrine-dbal.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,13 @@ public function iterateColumn(Connection $conn)
108108
assertType('Traversable<int, string>', $fetchResult);
109109
}
110110

111+
public function iterateKeyValue(Connection $conn)
112+
{
113+
$query = 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE adaid = ?';
114+
$fetchResult = $conn->iterateKeyValue($query, [1]);
115+
assertType('Traversable<string, int<0, 4294967295>>', $fetchResult);
116+
}
117+
111118
public function fetchOne(Connection $conn)
112119
{
113120
$query = 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE adaid = ?';
@@ -135,4 +142,11 @@ public function fetchAllAssociative(Connection $conn)
135142
$fetchResult = $conn->fetchAllAssociative($query, [1]);
136143
assertType('array<int<0, max>, array{email: string, adaid: int<0, 4294967295>, gesperrt: int<-128, 127>, freigabe1u1: int<-128, 127>}>', $fetchResult);
137144
}
145+
146+
public function fetchAllKeyValue(Connection $conn)
147+
{
148+
$query = 'SELECT email, adaid, gesperrt, freigabe1u1 FROM ada WHERE adaid = ?';
149+
$fetchResult = $conn->fetchAllKeyValue($query, [1]);
150+
assertType('array<string, int<0, 4294967295>>', $fetchResult);
151+
}
138152
}

0 commit comments

Comments
 (0)