/**
  * @param \Rocker\Object\ObjectInterface $obj
  * @throws \Rocker\Object\DuplicationException
  * @throws \Exception
  */
 protected function updateObject(ObjectInterface $obj)
 {
     $this->metaFactory->saveMetaData($obj);
     $newName = trim($obj->changedName());
     if ($newName) {
         try {
             $this->db->prepare("UPDATE " . $this->tableName . " SET name=? WHERE id=?")->execute(array($newName, $obj->getId()));
         } catch (\Exception $e) {
             $this->handlePossibleDuplication($e);
         }
         $this->deleteObjectCache($obj);
     }
 }
Exemple #2
0
 function testMagicMethods()
 {
     $obj = new \Rocker\Object\PlainObject('testo', 1);
     self::$f->applyMetaData($obj);
     $obj->meta()->key = 'value';
     $this->assertEquals('value', $obj->meta()->key);
     $this->assertTrue($obj->meta()->has('key'));
     $this->assertEquals(null, $obj->meta()->unknownKey);
     self::$f->saveMetaData($obj);
     self::$f->applyMetaData($obj);
     $obj->meta()->key = 'value';
     $this->assertEquals('value', $obj->meta()->key);
     $obj->meta()->key = null;
     $this->assertFalse($obj->meta()->has('key'));
     self::$f->saveMetaData($obj);
     self::$f->applyMetaData($obj);
     $this->assertNull($obj->meta()->key);
     $this->assertFalse($obj->meta()->has('key'));
 }