我知道当我们在交易期间采用Active Record更新时,我们应该使用
$trans = $model->dbConnection->beginTransaction();
当我们在交易期间采用DAO更新时,我们应该使用
$trans = Yii::app()->db->beginTransaction();
但是当我们在事务中通过ActiveRecord和DAO进行更新时如何开始交易?
到目前为止,我一直在使用
$trans = Yii::app()->db->beginTransaction();
混合情况。
任何人都可以在这里指导我吗?
答案 0 :(得分:0)
通常,模型dbConnection
为Yii::app()->db
。因此,您可以使用Yii::app()->db->beginTransaction();
,这应该适用于活动记录和DAO。
如果您在活动记录和DAO中有不同的连接,它将无法工作。但这是正常行为,与yii无关,因为事务总是在连接上起作用。
你可以为...使用两个具有不同连接的DAO,但由于它们具有不同的连接,因此您无法使用这两种事务。