/** * {@inheritdoc} */ public function visitDatasource(DatagridConfiguration $config, DatasourceInterface $datasource) { /** @var QueryBuilder $qb */ $qb = $datasource->getQueryBuilder(); $ds = new GroupingOrmFilterDatasourceAdapter($qb); $filters = $config->offsetGetByPath('[source][query_config][filters]'); $this->restrictionBuilder->buildRestrictions($filters, $ds); }
/** * {@inheritdoc} */ public function visitDatasource(DatagridConfiguration $config, DatasourceInterface $datasource) { $gridName = $config->offsetGetByPath(self::NAME_PATH); $parametersKey = md5(json_encode($this->parameters->all())); if (!empty($this->appliedFor[$gridName . $parametersKey])) { return; } /** @var QueryBuilder $qb */ $qb = $datasource->getQueryBuilder(); $ds = new GroupingOrmFilterDatasourceAdapter($qb); $filters = $config->offsetGetByPath('[source][query_config][filters]'); $this->restrictionBuilder->buildRestrictions($filters, $ds); $this->appliedFor[$gridName . $parametersKey] = true; }