在 ThinkPHP 5 中,可以使用 Db 类的 startTrans 方法开启全局事务。具体步骤如下:
1. 获取 Db 实例:
```
$db = \think\Db::connect();
```
2. 开启全局事务:
```
$db->startTrans();
```
3. 执行数据库操作,例如插入、更新或删除数据:
```
// 插入数据
$db->table('user')->insert(['name' => 'Tom', 'age' => 20]);
// 更新数据
$db->table('user')->where('id', 1)->update(['name' => 'Jerry']);
// 删除数据
$db->table('user')->where('id', 2)->delete();
```
4. 提交或回滚事务:
如果所有的数据库操作都执行成功,可以使用 commit 方法提交事务:
```
$db->commit();
```
如果其中任何一个数据库操作失败,可以使用 rollback 方法回滚事务:
```
$db->rollback();
```
注意:在开启全局事务后,所有的数据库操作都必须使用同一个 Db 实例进行,否则事务将无法正常工作。