事务操作

开启事务

传参说明

参数名 是否必须 参数说明
connectionNames 开启事务的连接名称; string或者array
在addConnection时指定。一般情况下无需特别设置

返回说明:bool 开启成功则返回true,开启失败则返回false

  1. DbManager::getInstance()->startTransaction($connectionNames = 'default');

提交事务

传参说明

参数名 是否必须 参数说明
connectName 指定提交一个连接名,若不传递,则自动提交当前协程内获取的事务连接。
一般情况下无需特别设置

返回说明:bool 提交成功则返回true,失败则返回false

  1. DbManager::getInstance()->commit($connectName = null);

回滚事务

传参说明

参数名 是否必须 参数说明
connectName 指定提交一个连接名,若不传递,则自动提交当前协程内获取的事务连接。
一般情况下无需特别设置

返回说明:bool 提交成功则返回true,失败则返回false

  1. DbManager::getInstance()->rollback();

事务用例

  1. $user = UserModel::create()->get(4);
  2. $user->age = 4;
  3. // 开启事务
  4. $strat = DbManager::getInstance()->startTransaction();
  5. // 更新操作
  6. $res = $user->update();
  7. // 不管更新成功还是失败,直接回滚
  8. $rollback = DbManager::getInstance()->rollback();
  9. // 返回false 因为连接已经回滚。事务关闭。
  10. $commit = DbManager::getInstance()->commit();
  11. var_dump($commit);