Example #1
0
 /**
  * Creates a filtered query builder.
  *
  * @param FormInterface $form Filter form
  *
  * @return QueryBuilder Returns the queryBuilder object to filter on
  */
 private function createQueryBuilder(FormInterface $form)
 {
     $qb = $this->manager->getQueryBuilder();
     if ($form->isValid()) {
         $this->filterBuilderUpdater->addFilterConditions($form, $qb);
     }
     return $qb;
 }
 /**
  * @param FormInterface $form
  * @param $filterData
  * @param $query
  */
 public function applyFilter(FormInterface $form, $filterData, $query)
 {
     $form->submit($filterData);
     if ($form->isSubmitted() && $form->isValid()) {
         $this->eventDispatcher->dispatch(FilterEvent::PRE_FILTER, new FilterEvent($query));
         $this->queryBuilderUpdater->addFilterConditions($form, $query);
     }
 }