Skip to content

Commit

Permalink
added a DBAL-column lazy-loading cache to entity-mapping
Browse files Browse the repository at this point in the history
  • Loading branch information
addiks committed Jan 22, 2021
1 parent a8bc4c8 commit 1882799
Showing 1 changed file with 16 additions and 9 deletions.
25 changes: 16 additions & 9 deletions Mapping/EntityMapping.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ final class EntityMapping implements EntityMappingInterface
*/
private $fieldMappings = array();

/** @var array<Column>|null */
private $dbalColumnsCache;

/** @param class-string $className */
public function __construct(string $className, array $fieldMappings)
{
Expand Down Expand Up @@ -78,19 +81,23 @@ public function describeOrigin(): string

public function collectDBALColumns(): array
{
/** @var array<Column> $additionalColumns */
$additionalColumns = array();
if (is_null($this->dbalColumnsCache)) {
/** @var array<Column> $additionalColumns */
$additionalColumns = array();

foreach ($this->fieldMappings as $fieldMapping) {
/** @var MappingInterface $fieldMapping */
foreach ($this->fieldMappings as $fieldMapping) {
/** @var MappingInterface $fieldMapping */

$additionalColumns = array_merge(
$additionalColumns,
$fieldMapping->collectDBALColumns()
);
}

$additionalColumns = array_merge(
$additionalColumns,
$fieldMapping->collectDBALColumns()
);
$this->dbalColumnsCache = $additionalColumns;
}

return $additionalColumns;
return $this->dbalColumnsCache;
}

public function getFactory(): ?CallDefinitionInterface
Expand Down

0 comments on commit 1882799

Please sign in to comment.