kalibora/csv-streamed-response
Composer 安装命令:
composer require kalibora/csv-streamed-response
包简介
CSV streamed response that saves memory usage with symfony and doctrine
关键字:
README 文档
README
CSV streamed response that saves memory usage with symfony and doctrine.
Usage
example 1: Specify columns with DQL
class DefaultController extends Controller { public function csvAction(UserRepository $repository) { return CsvStreamedResponse::builder() ->setRowsFromDoctrineQueryBuilder( $repository->createQueryBuilder('u')->select('u.id, u.name') ) ->build() ; } }
example 2: Specify columns with entity methods
class DefaultController extends Controller { public function csvAction(UserRepository $repository) { return CsvStreamedResponse::builder() ->setRowsFromDoctrineQueryBuilder( $repository->createQueryBuilder('u'), function ($user) { return [ $user->getId(), $user->getName(), ]; } ) ->setCsvColumnHeaders([ 'user_id', 'user_name', ]) ->build() ; } }
example 3: Fetch join a to-many collection in QueryBuilder
Suppress error for Iterate with fetch join in class ....
class DefaultController extends Controller { public function csvAction(UserRepository $repository) { $qb = $repository->createQueryBuilder('u') ->leftJoin('u.emails', 'em') // Join to-many collection ; return CsvStreamedResponse::builder() ->setRowsFromDoctrineQueryBuilder( $qb, function ($user) { return [ $user->getId(), $user->getName(), implode(',', $user->getEmails()), ]; }, $fetchJoinCollection = true ) ->setCsvColumnHeaders([ 'user_id', 'user_name', 'emails', ]) ->build() ; } }
统计信息
- 总下载量: 2.21k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-11-20