public function testAttachingAndUpdatingObject() { $this->connection->execute('INSERT INTO bugs (id, name) VALUES (1, "test")'); $bug = new Bug_OutletProxy('test', 1); $this->session->attach($bug); $bug->setName('new value'); $bug = $this->session->save($bug)->clear()->load('Bug', 1); $this->assertEquals('new value', $bug->getName()); }
public function createEntity($class, $data) { $config = $this->config->getEntity($class); $mapper = $this->session->getMapperFor($class); $pkProperties = $config->getPkProperties(); $pks = array(); foreach ($pkProperties as $prop) { $pks[] = $data[$prop->getName()]; } if (!($entity = $this->identityMap->get($class, $pks))) { $class .= '_OutletProxy'; $entity = new $class(); $mapper->set($entity, $data); $this->session->attach($entity); } return $entity; }
public function createEntity($class, $data) { $config = $this->config->getEntity($class); if ($config->getDiscriminator() !== null) { $discriminatorValue = $data[$config->getDiscriminator()->getName()]; if ($discriminatorValue !== null) { $class = $config->getSubclassConfByDiscriminator($discriminatorValue)->getClass(); } } $mapper = $this->session->getMapperFor($class); $pkProperties = $config->getPkProperties(); $pks = array(); foreach ($pkProperties as $prop) { $pks[] = $data[$prop->getName()]; } if (!($entity = $this->identityMap->get($class, $pks))) { $class .= '_OutletProxy'; $entity = new $class(); $mapper->set($entity, $data); $this->session->attach($entity); } return $entity; }