事务/异常处理
更新时间:2025年1月9日 22:48
浏览:763
数据库类 提供了 startTransaction、commit 和 rollback 等方法用于事务操作
- startTransaction - 开启事务
- commit - 提交事务
- rollback - 回滚
代码示例:
$db = Be::getDb();
$db->startTransaction();
try {
// SQL 操作
$sql = 'UPDATE ' . $db->quoteKey('user') . '
SET ' . $db->quoteKey('is_deleted') . ' = 1
WHERE ' . $db->quoteKey('age') . ' < ?
AND ' . $db->quoteKey('sex') . ' = ?';
$db->execute($sql , [18, '男']);
// 表模型操作,修改多行记录
Be::getTable('user')
->where('age', '>', 80)
->update(['is_deleted' => 1]);
// 行模型操作,修改单行记录
$tupleUser = Be::getTuple('user');
$tupleUser->load('f69e75bf-9e18-11ec-a3cb-0242ac180065');
$tupleUser->name = '如花'
$tupleUser->sex = '男'
$tupleUser->update();
// 提交事务
$db->commit();
} catch (\Exception $e) {
// 失败,回滚
$db->rollback();
}