Phalcon交易无法正常工作

时间:2016-06-20 13:03:03

标签: mysql database transactions phalcon

我创建了这样的交易:

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

但是,数据库仍然更改并插入了一个新行。回滚方法无效。

1 个答案:

答案 0 :(得分:2)

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