Skip to content

Commit 6dfec00

Browse files
glenscslashrsm
authored andcommitted
Add support for yielding objects
1 parent d8c111d commit 6dfec00

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

src/DoctrineReader.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,19 @@ class DoctrineReader implements CountableReader
3333
/** @var QueryBuilder */
3434
protected $queryBuilder;
3535

36+
/** @var int */
37+
private $hydrationMode;
38+
3639
/**
3740
* @param ObjectManager $objectManager
3841
* @param string $objectName e.g. YourBundle:YourEntity
42+
* @param int $hydrationMode Hydration mode (Query::HYDRATE_ARRAY, Query::HYDRATE_OBJECT)
3943
*/
40-
public function __construct(ObjectManager $objectManager, $objectName)
44+
public function __construct(ObjectManager $objectManager, $objectName, $hydrationMode = Query::HYDRATE_ARRAY)
4145
{
4246
$this->objectManager = $objectManager;
4347
$this->objectName = $objectName;
48+
$this->hydrationMode = $hydrationMode;
4449
}
4550

4651
public function setQueryBuilder(QueryBuilder $queryBuilder)
@@ -91,7 +96,7 @@ public function rewind(): void
9196
if (!$this->iterableResult) {
9297
$query = $this->getQueryBuilder()->select('o')->getQuery();
9398

94-
$this->iterableResult = $query->iterate([], Query::HYDRATE_ARRAY);
99+
$this->iterableResult = $query->iterate([], $this->hydrationMode);
95100
}
96101

97102
$this->iterableResult->rewind();

0 commit comments

Comments
 (0)