webit/doctrine-orm-query-builder-iterator
最新稳定版本:3.0.0
Composer 安装命令:
composer require webit/doctrine-orm-query-builder-iterator
包简介
README 文档
README
Allows to iterate over Query Builder Results in batches
Installation
composer require webit/doctrine-orm-query-builder-iterator=^2.0.0
Usage
QueryIterator implementation
This implementation iterates over given query using limit / offset parameters.
<?php use Webit\DoctrineORM\QueryBuilder\Iterator\QueryIterator; /** @var \Doctrine\ORM\EntityManagerInterface $entityManager */ $queryBuilder = $entityManager->getRepository('MyEntity')->createQueryBuilder(); $queryBuilder->orderBy('a.ble', 'DESC'); $iterator = new QueryIterator( $queryBuilder, 20, // iterates in 50 elements batches (50 by default) ['MyEntity'], // clears entity manager before getting next batch (by default clears the whole entity manager) ); foreach ($iterator as $entity) { // do your stuff with the entity }
IdsIterator implementation
This implementation iterates over given query using pre-fetched list of identifiers.
<?php use Webit\DoctrineORM\QueryBuilder\Iterator\IdsIterator; /** @var \Doctrine\ORM\EntityManagerInterface $entityManager */ $queryBuilder = $entityManager->getRepository('MyEntity')->createQueryBuilder(); $queryBuilder->orderBy('a.ble', 'DESC'); $iterator = new IdsIterator( $queryBuilder, 'a.id', // the ID field 20, // iterates in 20 elements batches (50 by default) ['MyEntity'], // clears entity manager before getting next batch (by default clears the whole entity manager) ); foreach ($iterator as $entity) { // do your stuff with the entity }
Tests
composer install ./vendor/bin/phpunit
统计信息
- 总下载量: 63.84k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-01-06