コード例 #1
0
ファイル: Mapper.php プロジェクト: aazon/sfm
 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);
 }
コード例 #2
0
ファイル: Relation.php プロジェクト: aazon/sfm
 /**
  * @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;
 }