数据库 - Model 前置说明
官方开源项目 抓取代理IP

介绍

数据库-ORM操作,依赖\x\Db组件实现。

事务的使用,依赖begin()commit()rollback()三个方法,分别代表:

  • begin():开启事务
  • commit():提交事务
  • rollback():回滚事务

用法

例如:

$Db = new \x\Db();
// 启动事务
$Db->begin();
try {
    $Db->name('user')->find();
    $Db->name('user')->where('id', 1)->delete();
    // 提交事务
    $Db->commit();
} catch (\Exception $e) {
    // 回滚事务
    $Db->rollback();
}

事务隔离问题

在SW-X中,数据库事务不能跨连接池使用,也就是说在$Db中,不能包含$Db2的业务,否则会查询事务隔离级别的报错。

例如:

$Db = new \x\Db();
$Db2 = new \x\Db();
// 启动事务
$Db->begin();
try {
    $Db->name('user')->find();
    $Db2->name('user')->where('id', 1)->delete();
    // 提交事务
    $Db->commit();
} catch (\Exception $e) {
    // 回滚事务
    $Db->rollback();
    // 这个回滚对Db2无效
}

SW-X

企业级 - 高性能 PHP 框架

最后更新:3年前 . 作者-小黄牛

本篇目录