|
@@ 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 |