protected function storeEntityInIdentityMap(SFM_Entity $eEntity) { $arrTuple = $eEntity->getTuple(); $arrIndexValues = array(); foreach ($this->arrIndexes as $index) { if (isset($arrTuple[$index])) { $arrIndexValues[$index] = $arrTuple[$index]; } } $this->identityMap->put($this->member, $eEntity, $arrIndexValues); }
/** * @param SFM_RelationSide $side * @param SFM_Entity $entity * @param $complexValue * @return mixed */ public function setByEntity(SFM_RelationSide $side, SFM_Entity $entity, $complexValue) { $inverseSide = $this->getInverseSide($side); $entity->setComplexByRelationOnly($side->complex, $complexValue); if (!$side->isOwner) { if ($complexValue instanceof SFM_Entity) { $complexValue->setComplexByRelationOnly($inverseSide->complex, $entity); } elseif ($complexValue instanceof SFM_List) { /**@var $complexEntity SFM_Entity */ foreach ($complexValue as $complexEntity) { $complexEntity->setComplexByRelationOnly($inverseSide->complex, $entity); } } } return $complexValue; }