Zend 2 db交易?

Rae*_*kye 7 database pdo transactions zend-framework2

我们如何在Zend 2中使用交易?我没有在API中找到任何内容,Zend 1的几个问题涉及常规的PDO函数,但我在Zend 2中没有看到类似的内容.

Die*_*uzi 8

对于ZF2,该部门的文档缺乏一点:

开始交易:

$this->adapter->getDriver()->getConnection()->beginTransaction();
Run Code Online (Sandbox Code Playgroud)

提交交易:

$this->adapter->getDriver()->getConnection()->commit();
Run Code Online (Sandbox Code Playgroud)

回滚交易:

$this->adapter->getDriver()->getConnection()->rollback();
Run Code Online (Sandbox Code Playgroud)


All*_*nce 7

试试这个:

$adapter = new Zend\Db\Adapter\Adapter(array(
    'driver' => 'pdo',
    'dsn' => 'mysql:dbname=db;hostname=localhost',
    'username' => 'root',
    'password' => 'password',
    'driver_options' => array(
        PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
    ),
));

$adapter->getDriver()->getConnection()->beginTransaction();
Run Code Online (Sandbox Code Playgroud)

DB将运行命令:

START TRANSACTION
Run Code Online (Sandbox Code Playgroud)