Creates a dataset's context using factory service
public createContext ( string $contextType, array $options = [] ) : WellCommerce\Component\DataSet\Context\DataSetContextInterface | ||
$contextType | string | |
$options | array | |
return | WellCommerce\Component\DataSet\Context\DataSetContextInterface |
/** * {@inheritdoc} */ public function getResult($contextType, array $requestOptions = [], array $contextOptions = []) { $contextOptions = $this->getContextOptions($contextOptions); $requestOptions = $this->getRequestOptions($requestOptions); $context = $this->manager->createContext($contextType, $contextOptions); $request = $this->manager->createRequest($requestOptions); $queryBuilder = $this->getQueryBuilder($request); return $context->getResult($queryBuilder, $request, $this->columns); }
public function getResult(string $contextType, array $requestOptions = [], array $contextOptions = []) : array { $contextOptions = $this->getContextOptions($contextOptions); $requestOptions = $this->getRequestOptions($requestOptions); $context = $this->manager->createContext($contextType, $contextOptions); $request = $this->getDataSetRequest($requestOptions); $queryBuilder = $this->getQueryBuilder($request); try { return $context->getResult($queryBuilder, $request, $this->columns, $this->cacheOptions); } catch (\Exception $e) { return ['error' => $e->getMessage()]; } }
public function getResult(string $contextType, array $requestOptions = [], array $contextOptions = []) : array { $this->getDoctrineHelper()->enableFilter('locale')->setParameter('locale', $this->getRequestHelper()->getCurrentLocale()); $contextOptions = $this->getContextOptions($contextOptions); $requestOptions = $this->getRequestOptions($requestOptions); $context = $this->manager->createContext($contextType, $contextOptions); $request = $this->getDataSetRequest($requestOptions); $queryBuilder = $this->getQueryBuilder($request); try { $result = $context->getResult($queryBuilder, $request, $this->columns, $this->cacheOptions); } catch (\Exception $e) { $result = ['error' => $e->getMessage()]; } $this->getDoctrineHelper()->disableFilter('locale'); return $result; }