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 );