【发布时间】:2018-08-15 11:08:38
【问题描述】:
我需要在已启动的事务之外运行查询:
$transaction = \Yii::$app->db->beginTransaction();
try {
//... other database queries within the transaction ...
//Query I want to be inserted regardless:
\Yii::$app->db->createCommand("INSERT INTO...")->execute();
$transaction->commit();
} catch (\Exception $e) {
$transaction->rollBack();
throw $e;
}
有没有一种聪明的方法可以做到这一点,或者我是否需要克隆/创建一个新的数据库连接 - 如果是这样,最好的方法是什么,而不必再次指定数据库参数,只需使用相同的配置?
【问题讨论】:
-
事务外查询的原因是什么?您可以在事务开始之前获取数据。
标签: php mysql transactions yii2