Storm\Core\Mapping\DomainDatabaseMap::MapRelationshipChanges PHP Method

MapRelationshipChanges() final public method

final public MapRelationshipChanges ( UnitOfWork $UnitOfWork, Transaction $Transaction, Storm\Core\Mapping\IEntityRelationalMap $EntityRelationalMap, array $ObjectRelationshipChanges ) : RelationshipChange
$UnitOfWork Storm\Core\Object\UnitOfWork
$Transaction Storm\Core\Relational\Transaction
$EntityRelationalMap Storm\Core\Mapping\IEntityRelationalMap
$ObjectRelationshipChanges array
return Storm\Core\Relational\RelationshipChange
    public final function MapRelationshipChanges(Object\UnitOfWork $UnitOfWork, Relational\Transaction $Transaction, IEntityRelationalMap $EntityRelationalMap, array $ObjectRelationshipChanges)
    {
        $ObjectPersistedRelationships = [];
        $ObjectDiscardedRelationships = [];
        foreach ($ObjectRelationshipChanges as $Key => $ObjectRelationshipChange) {
            $ObjectPersistedRelationships[$Key] = $ObjectRelationshipChange->GetPersistedRelationship();
            $ObjectDiscardedRelationships[$Key] = $ObjectRelationshipChange->GetDiscardedRelationship();
        }
        $RelationalPersistedRelationships = $this->MapPersistedRelationships($UnitOfWork, $Transaction, $EntityRelationalMap, $ObjectPersistedRelationships);
        $RelationalDiscardedRelationships = $this->MapDiscardedRelationships($EntityRelationalMap, $ObjectDiscardedRelationships);
        $RelationalRelationshipChanges = [];
        foreach ($ObjectRelationshipChanges as $Key => $ObjectRelationshipChange) {
            $RelationalRelationshipChanges[$Key] = new Relational\RelationshipChange($RelationalPersistedRelationships[$Key], $RelationalDiscardedRelationships[$Key]);
        }
        return $RelationalRelationshipChanges;
    }