public function listAction(Request $request)
 {
     $repo = $this->get('wucdbm_banner.repo.banners');
     $filter = new BannerFilter();
     $pagination = $filter->getPagination()->enable();
     $filterForm = $this->createForm(BannerFilterType::class, $filter);
     $filter->load($request, $filterForm);
     $banners = $repo->filter($filter);
     $data = ['banners' => $banners, 'filter' => $filter, 'pagination' => $pagination, 'filterForm' => $filterForm->createView()];
     return $this->render('@WucdbmBanner/Banner/list.html.twig', $data);
 }
 public function filter(BannerFilter $filter)
 {
     $builder = $this->createQueryBuilder('banners')->select('banners');
     if ($filter->getId()) {
         $builder->andWhere('banners.id = :id')->setParameter('id', $filter->getId());
     }
     if ($filter->getName()) {
         $builder->andWhere('banners.name LIKE :name');
         $builder->setParameter('name', '%' . $filter->getName() . '%');
     }
     if (null !== $filter->getIsActive()) {
         $builder->andWhere('banners.isActive = :isActive');
         $builder->setParameter('isActive', $filter->getIsActive());
     }
     return $this->returnFilteredEntities($builder, $filter, 'banners.id');
 }