symfony分页实现方法
2024-08-24 15:10:32
1.symfony分页是要用到组件的,所以这里使用KnpPaginatorBundle实现翻页
2. 用composer下载
在命令行中: composer require "knplabs/knp-paginator-bundle"
3.需要到框架里面注册该组件在项目下的app/Resources/AppKernel.php里面注册
public functionregisterBundles() {
$bundles = [ new Knp\Bundle\PaginatorBundle\KnpPaginatorBundle(), ];
}
4.控制器中的代码
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.路由
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) }}
最新文章
- WCF中,通过C#代码或App.config配置文件创建ServiceHost类
- Swift学习(二):自定义扩展方法(Extensions)
- 基于Css反射形自触发事件,优化你的延时事件
- ELK Kafka json to elk
- 如何写出安全的API接口
- BZOJ3738 : [Ontak2013]Kapitał
- find 日常使用
- Codevs 4560 NOIP2015 D2T2 子串
- QF——iOS代理模式
- 在InteliJ IDEA中写Dart及配置IDEA - Dart Plugin
- 前端构建利器Grunt—Bower
- libevent学习总结
- Lambda应用场景和使用实例
- PHP 接口 返回构造函数
- 板载 SPI-FLASH 的烧写方法
- python js(JavaScript)初识
- IDEA快速入门(Mac版)
- CSS line-height与行内框
- php回调函数数组的排序函数
- scp -P 非22端口拷贝