pportelette / pageable-bundle
此Bundle基于Doctrine Paginator提供分页仓库的方法
v0.1.5
2024-02-29 14:43 UTC
Requires
- php: >=7.2.5
- doctrine/doctrine-bundle: ^2.7
- symfony/framework-bundle: ^5.3|^6.0|7.0.*
Conflicts
README
此bundle为Doctrine仓库添加了一个名为'getPage'的方法,用于对查询结果进行分页。同时提供了'add'和'remove'方法。
安装
打开命令行,进入您的项目目录,并执行
$ composer require pportelette/pageable-bundle
不使用Symfony Flex的应用程序
然后,通过将bundle添加到项目中注册的bundle列表中,在项目的config/bundles.php
文件中启用该bundle
// config/bundles.php return [ Pportelette\PageableBundle\PportelettePageableBundle::class => ['all' => true], ];
使用方法
从 doctrine 仓库中
// src/Repository/MyRepository.php use Pportelette\PageableBundle\Repository\AbstractRepository; use Pportelette\PageableBundle\Model\Pageable; class MyRepository extends AbstractRepository { public function getAllPaginated(int $page): Pageable { $queryBuilder = $this->createQueryBuilder('e'); $nbPerPage = 50; return $this->getPage( $queryBuilder, $page, $nbPerPage ); } }
就这样!
第三个参数是可选的,默认值为'30'。可以通过添加配置文件来更改默认值
# config/packages/pportelette_pageable.yaml pportelette_pageable: default: nb_per_page: 50