У меня есть приложение с symfony2/doctor 2/elastica/fosElasticaBundle/pagerFanta.
Я хочу использовать пользовательский и динамический queryBuilder в сочетании с pagerfanta и elastica. Не преобразовывать результаты, а предварительно фильтровать их.
До сих пор мне удавалось: 1. Использовать pagerfanta отдельно с моим пользовательским queryBuilder:
$page = $request->get('page', 1);
$search = $request->get('search');
$querybuilder = $this->getDoctrine()->getRepository('AppBundle:FoodAnalytics\Recipe')->findByTopCategoryQueryBuilder($category);
$explorerManager = $this->get('explorer_manager');
$pagerFanta = $explorerManager->getPagerFanta($querybuilder, $page, 4);
$recipes = $pagerFanta->getCurrentPageResults();
Используйте Elastica с Pagerfanta, но без моего пользовательского QueryBuilder:
$page = $request->get('page', 1); $search = $request->get('search'); $finder = $this->container->get('fos_elastica.finder.website.recipe'); $pagerFanta = $finder->findPaginated($search); $recipes = $pagerFanta->getCurrentPageResults();
Теперь, как я могу использовать свой собственный QueryBuilder? Я знаю, что вы можете установить собственный в конфигурации elastica, но мой должен быть динамическим = принимать аргумент, поэтому я хотел бы установить его в контроллере. Это возможно ?