/** * {@inheritDoc} */ public function visitResult(DatagridConfiguration $config, ResultsObject $result) { $rows = (array) $result->offsetGetOr('data', []); $columns = $config->offsetGetOr(Configuration::COLUMNS_KEY, []); $properties = $config->offsetGetOr(Configuration::PROPERTIES_KEY, []); $toProcess = array_merge($columns, $properties); foreach ($rows as $key => $row) { $currentRow = []; foreach ($toProcess as $name => $config) { $config = PropertyConfiguration::createNamed($name, $config); $property = $this->getPropertyObject($config); $currentRow[$name] = $property->getValue($row); } $rows[$key] = $currentRow; } $result->offsetSet('data', $rows); }
/** * {@inheritdoc} */ public function visitResult(DatagridConfiguration $config, ResultsObject $result) { $rows = (array) $result->offsetGetOr('data', []); $idField = 'id'; $tags = $this->getTagsForEntityClass($this->getEntityClassName($config), $this->extractEntityIds($rows, $idField)); $this->addTagsToData($rows, $tags, $idField, self::COLUMN_NAME); }
/** * {@inheritdoc} */ public function visitResult(DatagridConfiguration $config, ResultsObject $result) { $identifiers = $this->getTagsColumns($config); $rows = (array) $result->offsetGetOr('data', []); $entitiesTags = []; foreach ($identifiers as $entityClass => $idAlias) { $entitiesTags[$entityClass] = $this->getTagsForEntityClass($entityClass, $this->extractEntityIds($rows, $idAlias)); } foreach ($entitiesTags as $entityClass => $entityTags) { $idAlias = $identifiers[$entityClass]; $this->addTagsToData($rows, $entityTags, $idAlias, $this->buildTagColumnId($idAlias, $entityClass)); } }