public function testGetInstance2() { $data = new FooEntity(); $propRef = new PropertyReflection('ActiveMapperTests\\MetaData\\FooEntity', 'text'); $propRef->setAccessible(TRUE); $propRef->setValue($data, "Test text"); $propRef->setAccessible(FALSE); $this->assertEquals($data, Metadata::getMetadata('ActiveMapperTests\\MetaData\\FooEntity')->getInstance(\ActiveMapper\Manager::getManager(), array('text' => "Test text"))); }
/** * Get entity associations values * * @param mixed $entity * @return array */ public function getAssociationsValues(&$entity) { $ref = new PropertyReflection($this->entity, '_associations'); $ref->setAccessible(TRUE); $associations = $ref->getValue($entity); $ref->setAccessible(FALSE); $data = array(); foreach ($this->associations as $association) { if (!array_key_exists($association->name, $associations) || $associations[$association->name] instanceof Associations\LazyLoad) { continue; } if (is_array($associations[$association->name]) || $associations[$association->name] instanceof \ArrayAccess) { $data[$association->name] = array_keys($associations[$association->name]); } elseif (empty($associations[$association->name])) { $data[$association->name] = NULL; } else { $data[$association->name] = Metadata::getMetadata(get_class($associations[$association->name]))->getPrimaryKeyValue($associations[$association->name]); } } return $data; }