Maison  >  Article  >  développement back-end  >  Comment implémenter la pagination à l'aide de Symfony

Comment implémenter la pagination à l'aide de Symfony

一个新手
一个新手original
2017-10-10 09:06:402090parcourir

1. La pagination Symfony nécessite des composants, nous utilisons donc ici KnpPaginatorBundle pour tourner la page

2 Utilisez composer pour télécharger

Dans la ligne de commande : composer require. "knplabs/knp-paginator-bundle"

3. Vous devez enregistrer le composant dans le framework et l'enregistrer dans app/Resources/AppKernel.php sous le projet

 public functionregisterBundles() {   
            $bundles = [                     
            new   Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(),         ];    
         }

4. . Code de contrôle dans le serveur


class NewsController extends Controller
{
    /**
     * 2016-1-19
     * auth:lsf
     * 查询列表
     * @param   int $page   页数
     * @param   int $limit  显示条数
    */
    public function indexAction($page,$limit){
        $em = $this->getDoctrine()->getManager();
        $qb = $em->getRepository('AppBundle:DemoList')->createQueryBuilder('u');
//Appbundle是你的模块DemoList是你的表实体 u是别名后面可接条件
        $paginator = $this->get('knp_paginator');
        $pagination = $paginator->paginate($qb, $page,$limit);
        return $this->render('news/list.html.twig',['pagination' => $pagination]);
    }
}

5. Routage

news_page:
  path: "/news/{page}/{limit}"
  defaults: {_controller: AppBundle:News:index,page:1,limit:2}


6.模板
{% for value in pagination %}
{{value.title}}{#直接就是值了#}
{% endfor %}
{{ knp_pagination_render(pagination) }}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn