public function testSave() { try { MySql::transactionBegin(); $TM = new TableMapper('test_table_a'); $DO = $TM->save(array('name' => 'testing')); if (!$DO->isSuccess()) { throw new Exception("faild_1"); } $TM2 = new TableMapper('test_table_a'); $DO2 = $TM2->save(array('id_a' => $DO->getLastID(), 'name' => "testing")); if (!$DO2->isSuccess()) { throw new Exception("faild_2"); } $TM3 = new TableMapper('test_table_b'); $row = $TM3->setWhere("name=? AND id_a=?", array('testing', $DO->getLastID()))->fetchAll()->toSingleRow(); MySql::transactionCommit(); $this->assertEquals('testing', $row['name']); } catch (\PDOException $e) { MySql::transactionRollback(); } }