pportelette / pageable-bundle
This Bundle provides pagination repository's method based on Doctrine Paginator
Installs: 4
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.2.5
- doctrine/doctrine-bundle: ^2.7
- symfony/framework-bundle: ^5.3|^6.0|7.0.*
Conflicts
README
This bundle adds a method 'getPage' to a Doctrine repository that paginates the result of a query. It provides also the methods 'add' and 'remove'.
Installation
Open a command console, enter your project directory and execute:
$ composer require pportelette/pageable-bundle
Applications that don't use Symfony Flex
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundles.php
file of your project:
// config/bundles.php return [ Pportelette\PageableBundle\PportelettePageableBundle::class => ['all' => true], ];
Usage
From a doctrine repository:
// 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 ); } }
That's it!
The third parameter is optional and is '30' by default. It is possible to change the default value by adding a configuration file:
# config/packages/pportelette_pageable.yaml pportelette_pageable: default: nb_per_page: 50