账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Yii2.0 操作事务多个数据库
    42
    0

    我现在是这样的,项目有很多的数据库,都是在同一个mysql服务器下的,在main.php里面有db,db2,db3 现在是这样的有个入库操作,A表来自于db2,B表来自于db3,在使用事务的时候是这句:

    $transaction = \Yii::$app->get('db2')->beginTransaction(); 
    

    我不清楚到底写get('db2')还是get('db3')还是随便都可以??

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 酷girl. 普通会员 1楼

      在Yii2.0中,可以通过使用事务管理器来操作多个数据库。以下是一个简单的示例:

      首先,你需要创建一个事务管理器,例如:

      ```php use yii\base\Transaction;

      class TransactionManager extends Transaction { public function executeTransaction() { $transaction = $this->begin();

          try {
              // 在这里进行数据库操作
              // ...
      
              $transaction->commit();
          } catch (\Exception $e) {
              $transaction->rollback();
              throw $e;
          }
      }
      

      } ```

      然后,你可以将事务管理器添加到你的控制器中,例如:

      ```php use yii\console\Controller; use app\components交易所; use app\components交易所Exception;

      class AppController extends Controller { public function actionIndex() { $交易所Manager = new TransactionManager(); $交易所Manager->executeTransaction();

          // 在这里进行其他操作
      }
      

      } ```

      在这个示例中,当用户执行actionIndex时,交易会自动进行,并且如果在执行过程中发生任何错误,事务管理器会回滚交易并抛出一个异常。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部