数据库-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无效
}