数据库-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