Exemplo n.º 1
0
 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());
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
 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;
 }