@@ 96-108 (lines=13) @@ | ||
93 | * @param Closure $callback |
|
94 | * @return array[]|\Generator |
|
95 | */ |
|
96 | public function fetchRowsLazy(Closure $callback = null) { |
|
97 | if(version_compare(PHP_VERSION, '5.5', '<')) { |
|
98 | return new YieldPolyfillIterator($callback, $this->preserveTypes, function () { |
|
99 | $statement = $this->createStatement(); |
|
100 | $statement->setFetchMode(PDO::FETCH_ASSOC); |
|
101 | return $statement; |
|
102 | }); |
|
103 | } |
|
104 | $statement = $this->createStatement(); |
|
105 | $statement->setFetchMode(PDO::FETCH_ASSOC); |
|
106 | $generator = new LazyRowGenerator($this->preserveTypes); |
|
107 | return $generator->generate($statement, $callback); |
|
108 | } |
|
109 | ||
110 | /** |
|
111 | * @param Closure|null $callback |
|
@@ 174-186 (lines=13) @@ | ||
171 | * @param Closure $callback |
|
172 | * @return array[]|Generator |
|
173 | */ |
|
174 | public function fetchObjectsLazy($className, Closure $callback = null) { |
|
175 | if(version_compare(PHP_VERSION, '5.5', '<')) { |
|
176 | return new YieldPolyfillIterator($callback, $this->preserveTypes, function () use ($className) { |
|
177 | $statement = $this->createStatement(); |
|
178 | $statement->setFetchMode(PDO::FETCH_CLASS, $className); |
|
179 | return $statement; |
|
180 | }); |
|
181 | } |
|
182 | $statement = $this->createStatement(); |
|
183 | $statement->setFetchMode(PDO::FETCH_CLASS, $className); |
|
184 | $generator = new LazyRowGenerator($this->preserveTypes); |
|
185 | return $generator->generate($statement, $callback); |
|
186 | } |
|
187 | ||
188 | /** |
|
189 | * @param string $className |