/** * 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); } }