Невозможно отсортировать в FOSElasticaBundle

Я использую FOSElasticaBundle в своем проекте для поиска в списке объявлений. Я могу получить весь результат, но не могу заказать его в «asc» или «desc». Я видел другой учебник, говорящий о фильтрации. Но это не работает.

if (!empty($cati)) {
$query = new \Elastica\Query\Bool();

if((!empty($cati)) && $cati!='1')
{
$query1 = new \Elastica\Query\Match();
$query1->setFieldQuery('post.cat_id', $cati);
$query->addMust($query1);
}
}
else {
$query = new \Elastica\Query\MatchAll();
}

$elasticaQuery = new \Elastica\Query();
$elasticaQuery->setQuery($query);
$elasticaQuery->setSize($nbPerPage);
$elasticaQuery->setFrom(($page - 1) * $nbPerPage);
$elasticaQuery->addSort(array('date', array("desc"));

$repistoryManager = $this->container->get('fos_elastica.manager');
$repistory = $repistoryManager->getRepository('AdsManagerBundle:Post');

$eq = new \Elastica\Query();
$eq->setQuery($query);
$finder = $this->container->get('fos_elastica.index.ads.post');
$elasticaResultSet = $finder->search($eq);
$ed = $elasticaResultSet->getResults();

Я не могу понять, где проблема!

1

Решение

Вы допустили ошибку в своем коде (ошибка синтаксического анализа + неправильная конструкция синтаксиса JSON):

$elasticaQuery->addSort(array('date' => 'desc'));
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]