向分页器(KnpPaginatorBundle, Symfony)添加数据


Add data to paginator (KnpPaginatorBundle, Symfony)

我使用的是KnpPaginatorBundle

假设我有这样的东西:

$em = $this->getDoctrine()->getEntityManager();
$qb = $em->createQueryBuilder()
   ->select('p.id, p.name, p.description)
   ->from('My'Bundle'Entity'Post', 'p')
   ->where('p.unread is NULL')                
$query = $qb->getQuery();
$posts = $query->getResult();

和我的paginator:

$paginator  = $this->get('knp_paginator');
$posts = $paginator->paginate(
   $posts,
   $request->query->getInt('page', 1),
   3 
);

Everythink工作得很好,但是我想通过foreach将我自己的数据添加到$posts

我的例子不工作:

foreach ($posts as $key => $value) {
   $posts [$key]['filterPath'] = 'example';
}

我得到错误Notice: Indirect modification of overloaded element of Knp'Bundle'PaginatorBundle'Pagination'SlidingPagination has no effect

我怎么解决它?关于

试试这样做

foreach ($posts as $key => $value) {
$tab=$posts[$key];
$tab=['filterPath'] = 'example';
$posts['key']=$tab;
}

据我所知$posts不是正常的数组,它不能直接访问