I installed "Knp Paginator" and everything works fine but if i try to do a search in the search bar (this search bar does not depend on Knp Paginator) i have this error :
"Knp\Bundle\PaginatorBundle\Twig\Extension\PaginationExtension::render(): Argument #2 ($pagination) must be of type Knp\Bundle\PaginatorBundle\Pagination\SlidingPaginationInterface, array given, called in... /var/cache/dev/twig/36/36da62d992e743004744882a10f47b6d89340c107d735e823c151b7c459ca09f.php on line 214" =>see image.
If i disable Knp Paginator, the search bar work again.
Thank you for your help.
this is my queryBuilder of search bar (ItemRepository):
public function findBySearch($search)
{
return $this->createQueryBuilder('a')
->andWhere('a.city LIKE :val')
->setParameter('val', '%' . $search . '%')
->orWhere('a.title LIKE :title')
->setParameter('title', '%' . $search . '%')
->orWhere('a.city LIKE :city')
->setParameter('city', '%' . $search . '%')
->orWhere('a.zipCode LIKE :zip')
->setParameter('zip', '%' . $search . '%')
->orWhere('a.hiddenDetail LIKE :hiddenDetail')
->setParameter('hiddenDetail', '%' . $search . '%')
->getQuery()
->getResult();
}
Controller (searchBar) :
/**
*@Route("/searchItem", name="searchItem")
*
*/
public function searchItem(Request $request, ItemRepository $itemRepository)
{
$search = $request->request->get('search');
$items = $itemRepository->findBySearch($search);
return $this->render('home/listItem.html.twig', [
'items' => $items
]);
}
Controller (Knp Paginator) :
public function listItem(ItemRepository $repository, PaginatorInterface $paginator, Request $request): Response
{
$data = $repository->findAll();
// PAGINANTION KNP/PAGINATOR
$items = $paginator->paginate(
$data,
$request->query->getInt('page', 1),
8
);
return $this->render('home/listItem.html.twig', [
'items' => $items,
]);
}