Я использую 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 = $this->get('knp_paginator');
$posts = $paginator->paginate(
$posts,
$request->query->getInt('page', 1),
3
);
Все работает очень хорошо, но Я хотел бы добавить свои данные в $ 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 — это не обычный массив, и к нему нельзя получить прямой доступ
Других решений пока нет …