【发布时间】:2017-06-05 17:10:21
【问题描述】:
我正在尝试在 symfony 应用程序中以最低级别执行事务:
$conn = $this->em->getConnection();
$conn->beginTransaction();
$success = $conn->commit();
但$success 始终是false。这是为什么呢?
【问题讨论】:
我正在尝试在 symfony 应用程序中以最低级别执行事务:
$conn = $this->em->getConnection();
$conn->beginTransaction();
$success = $conn->commit();
但$success 始终是false。这是为什么呢?
【问题讨论】:
commit 不返回布尔值,如果有问题会抛出异常。
为确保事务成功,请使用这样的 try catch:
try{
$conn->commit();
} catch (\Exception $e) {
$conn->rollBack();
throw $e;
}
【讨论】:
Doctrine\DBAL\Driver::commit,它返回一个布尔值