/** * @param \Elastica\Query $query * @param \Spryker\Client\Search\Dependency\Plugin\SortConfigBuilderInterface $sortConfig * @param array $requestParameters * * @return void */ protected function addSortingToQuery(Query $query, SortConfigBuilderInterface $sortConfig, array $requestParameters) { $sortParamName = $sortConfig->getActiveParamName($requestParameters); $sortConfigTransfer = $sortConfig->get($sortParamName); if ($sortConfigTransfer === null) { return; } $nestedSortField = $sortConfigTransfer->getFieldName() . '.' . $sortConfigTransfer->getName(); $query->setSort([$nestedSortField => ['order' => $sortConfig->getSortDirection($sortParamName), 'mode' => 'min']]); }
/** * @param \Generated\Shared\Transfer\SearchConfigCacheTransfer $searchConfigCacheTransfer * * @return void */ protected function setDynamicSorts(SearchConfigCacheTransfer $searchConfigCacheTransfer) { foreach ($searchConfigCacheTransfer->getSortConfigs() as $sortConfigTransfer) { $this->sortConfigBuilder->addSort($sortConfigTransfer); } }