public function write($data, $form)
 {
     $rid = $data['ID'];
     if ($rid) {
         $record = TestObject::get()->filter(array('ID' => $rid))->first();
     } else {
         $record = TestObject::create();
     }
     $form->saveInto($record);
     $record->write();
     $this->redirectBack();
 }
 /**
  * @see http://lists.shadanakar.org/onphp-dev-ru/0811/0774.html
  **/
 public function testRecursiveContainers()
 {
     $this->markTestSkipped('wontfix');
     foreach (DBTestPool::me()->getPool() as $db) {
         DBPool::me()->setDefault($db);
         TestObject::dao()->import(TestObject::create()->setId(1)->setName('test object'));
         TestType::dao()->import(TestType::create()->setId(1)->setName('test type'));
         $type = TestType::dao()->getById(1);
         $type->getObjects()->fetch()->setList(array(TestObject::dao()->getById(1)))->save();
         $object = TestObject::dao()->getById(1);
         TestObject::dao()->save($object->setName('test object modified'));
         $list = $type->getObjects()->getList();
         $modifiedObject = TestObject::dao()->getById(1);
         $this->assertEquals($list[0], $modifiedObject);
     }
 }