【发布时间】:2015-02-20 17:38:03
【问题描述】:
我有一个带有 symfony2 / 学说 2 / elastica / fosElasticaBundle / pagerFanta 的应用程序。
我想结合 pagerfanta 和 elastica 使用自定义和动态 queryBuilder。不是对结果进行转换,而是对它们进行预过滤。
到目前为止,我能够: 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 配置中设置一个自定义的,但我的必须是动态的 = 带一个参数,所以我想在控制器中设置它。这可能吗?
【问题讨论】:
标签: symfony doctrine-orm elasticsearch foselasticabundle pagerfanta