Php 同一页中的多个symfony分页
我会在同一页上添加几个分页按钮。这是我的页面: 目前我使用的knppaginator如下:Php 同一页中的多个symfony分页,php,symfony,pagination,Php,Symfony,Pagination,我会在同一页上添加几个分页按钮。这是我的页面: 目前我使用的knppaginator如下: $paginator = $this->get('knp_paginator'); $pagination = $paginator->paginate( $demandes, $request->query->getInt('page', 1), 5 ); 我尝试以以下方式使用knppaginator: $pa
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$demandes,
$request->query->getInt('page', 1),
5
);
我尝试以以下方式使用knppaginator:
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$demandes,
$request->query->getInt('page', 1),
5
);
$paginator = $this->get('knp_paginator');
$paginationF = $paginator->paginate(
$forumTopics,
$request->query->getInt('page', 1),
5
);
但它不起作用。当我用一个页面更改页面时,它会更改另一个页面的页面
谢谢。这是因为默认情况下,所有服务都是共享的。这意味着每次检索服务时,都会得到相同的实例- 但是,如果您将服务标记为“非共享”,则可以在服务定义中更改,正如文档所建议的:
# app/config/services.yml
services:
app.some_not_shared_service:
class: ...
shared: false
# ...
在您的情况下,您的服务被称为knp\u paginator
,来自他们的捆绑包
因此,您只需更改自己的app/config/services.yml
即可使其服务成为非共享服务:
# app/config/services.yml
services:
knp_paginator:
shared: false
这是因为,默认情况下,所有服务都是共享的。这意味着每次检索服务时,都会得到相同的实例- 但是,如果您将服务标记为“非共享”,则可以在服务定义中更改,正如文档所建议的:
# app/config/services.yml
services:
app.some_not_shared_service:
class: ...
shared: false
# ...
在您的情况下,您的服务被称为knp\u paginator
,来自他们的捆绑包
因此,您只需更改自己的app/config/services.yml
即可使其服务成为非共享服务:
# app/config/services.yml
services:
knp_paginator:
shared: false
我认为这是因为两种分页都使用相同的“page”参数。试试这个
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$demandes,
$request->query->getInt('page', 1),
5
);
$paginationF = $paginator->paginate(
$forumTopics,
$request->query->getInt('otherPage', 1),
5,
['pageParameterName' => 'otherPage']
);
我认为这是因为两种分页都使用相同的“page”参数。试试这个
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$demandes,
$request->query->getInt('page', 1),
5
);
$paginationF = $paginator->paginate(
$forumTopics,
$request->query->getInt('otherPage', 1),
5,
['pageParameterName' => 'otherPage']
);
谢谢,我如何在我的案例中使用它?你应该在某个地方对你的服务有一个定义:
knp_paginator
在那里,你应该能够添加shared:false
参数$paginator=$this->get('app.some_not_shared_service')$分页=$paginator->paginate($demandes,$request->query->getInt('page',1),5)$paginator=$this->get('app.some_not_shared_service')$paginationF=$paginator->paginate($forumTopics,$request->query->getInt('page',1),1);谢谢,我如何在我的案例中使用它?你应该在某个地方对你的服务有一个定义:knp_paginator
在那里,你应该能够添加shared:false
参数$paginator=$this->get('app.some_not_shared_service')$分页=$paginator->paginate($demandes,$request->query->getInt('page',1),5)$paginator=$this->get('app.some_not_shared_service')$paginationF=$paginator->paginate($forumTopics,$request->query->getInt('page',1),1);排序如何?@iamjc015可用选项正在使用'sortFieldParameterName'=>'otherSort'
。排序如何?@iamjc015可用选项正在使用'sortFieldParameterName'=>'otherSort'
。