Phalcon 交易无法正常工作
Phalcon transaction not working correct
我创建了一个这样的交易:
$this->db->begin();
$topic = new Topic();
$topic->assign( $data );
$topic->save();
var_dump( $this->db->isUnderTransaction() ); // bool(true)
$this->db->rollback();
var_dump( $this->db->isUnderTransaction() ); // bool(false)
但是,数据库仍然发生变化并插入了一个新行。回滚方法无效。
$di->set
方法只有在第二个参数为 "TRUE".
时才会被共享
$di->set( 'db', function() use( $conf ) {
return new DbAdapter( [
'host' => $conf->db->host,
'username' => $conf->db->username,
'password' => $conf->db->password,
'dbname' => $conf->db->dbname,
'options' => [
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
\PDO::ATTR_PERSISTENT => true
]
] );
}, true );
我创建了一个这样的交易:
$this->db->begin();
$topic = new Topic();
$topic->assign( $data );
$topic->save();
var_dump( $this->db->isUnderTransaction() ); // bool(true)
$this->db->rollback();
var_dump( $this->db->isUnderTransaction() ); // bool(false)
但是,数据库仍然发生变化并插入了一个新行。回滚方法无效。
$di->set
方法只有在第二个参数为 "TRUE".
$di->set( 'db', function() use( $conf ) {
return new DbAdapter( [
'host' => $conf->db->host,
'username' => $conf->db->username,
'password' => $conf->db->password,
'dbname' => $conf->db->dbname,
'options' => [
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
\PDO::ATTR_PERSISTENT => true
]
] );
}, true );