MapIdentityToPrimaryKey() public method

Maps an identity to the equivalent primary key.
public MapIdentityToPrimaryKey ( Identity $Identity ) : PrimaryKey
$Identity Storm\Core\Object\Identity The identity to map
return Storm\Core\Relational\PrimaryKey The mapped primary key
コード例 #1
0
 /**
  * @return Relational\PersistedRelationship[]
  */
 public final function MapPersistedRelationships(Object\UnitOfWork $UnitOfWork, Relational\Transaction $Transaction, IEntityRelationalMap $EntityRelationalMap, array $ObjectPersistedRelationships)
 {
     $ParentPrimaryKey = null;
     $ChildPersistenceData = [];
     foreach ($ObjectPersistedRelationships as $Key => $ObjectPersistedRelationship) {
         if ($ObjectPersistedRelationship === null) {
             continue;
         }
         if ($ParentPrimaryKey === null) {
             $ParentPrimaryKey = $EntityRelationalMap->MapIdentityToPrimaryKey($ObjectPersistedRelationship->GetParentIdentity());
         }
         if ($ObjectPersistedRelationship->IsIdentifying()) {
             $ChildPersistenceData[$Key] = $ObjectPersistedRelationship->GetChildPersistenceData();
         }
     }
     if (count($ChildPersistenceData) > 0) {
         $ChildResultRows = $this->MapPersistenceDataToTransaction($UnitOfWork, $Transaction, $ChildPersistenceData);
     }
     $RelationalPersistedRelationships = [];
     foreach ($ObjectPersistedRelationships as $Key => $ObjectPersistedRelationship) {
         if ($ObjectPersistedRelationship === null) {
             $RelationalPersistedRelationships[$Key] = null;
             continue;
         }
         if ($ObjectPersistedRelationship->IsIdentifying()) {
             $RelationalPersistedRelationships[$Key] = new Relational\PersistedRelationship($ParentPrimaryKey, null, $ChildResultRows[$Key]);
         } else {
             $RelatedIdentity = $ObjectPersistedRelationship->GetRelatedIdentity();
             $RelatedEntityRelationalMap = $this->EntityRelationMaps[$RelatedIdentity->GetEntityType()];
             $RelatedPrimaryKey = $RelatedEntityRelationalMap->MapIdentityToPrimaryKey($RelatedIdentity);
             $RelationalPersistedRelationships[$Key] = new Relational\PersistedRelationship($ParentPrimaryKey, $RelatedPrimaryKey, null);
         }
     }
     return $RelationalPersistedRelationships;
 }