开发文档 v2.x

事务/异常处理

更新时间:2022年8月27日 02:27 浏览:44

数据库类 提供了 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();
}
导航