pportelette/pageable-bundle

此Bundle基于Doctrine Paginator提供分页仓库的方法

v0.1.5 2024-02-29 14:43 UTC

This package is auto-updated.

Last update: 2024-09-29 16:22:29 UTC


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