adt / bulk-fetcher
v5.0
2024-06-19 08:56 UTC
Requires (Dev)
- kdyby/doctrine: ^3.1
- nette/di: ^2.4 || ~3.0
- nette/utils: ^2.4 || ~3.0
README
\ADT\BulkFetcher\Factory
可以与以下一起使用
\Kdyby\Doctrine\ResultSet
\Doctrine\ORM\QueryBuilder
\Kdyby\Doctrine\NativeQueryBuilder
安装
通过 composer
composer require adt/bulk-fetcher
完整示例
整个批量都在事务中。
$qb = $entityManager->createQueryBuilder('user'); try { $entityManager->beginTransaction(); $data = \ADT\BulkFetcher\Factory::create($qb, 100); $data->onBeforeFetch[] = function() use ($entityManager) { $entityManager->commit(); $entityManager->clear(); $entityManager->beginTransaction(); }; foreach ($data as $key => $row) { // code } $entityManager->commit(); } catch (\Exception $e) { $entityManager->rollback(); throw $e; }