🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
事务保证多个数据库操作同时成功,数据库相关操作出现异常时会统一抛出 system\db\exception ~~~ use Be\System\Be; use Be\System\ErrorLog; // ...... $db = Be::getDb(); $db->startTransaction(); try { // SQL 操作 $sql = 'UPDATE ' . $db->quoteKey('user') . ' SET ' . $db->quoteKey('is_deleted') . ' = 1 WHERE ' . $db->quoteKey('age') . ' < ? AND `sex`=?'; $db->execute($sql , [18, '男']); // 表模型操作,修改多行记录 Be::getTable('system_user') ->where('age', '<', 14) ->where('sex', '女') ->update([ 'is_deleted' => 1 ]); // 行模型操作,修改单行记录 $tupleUser = Be::getTuple('system_user'); $tupleUser->load(1); $tupleUser->name = '春哥' $tupleUser->sex = '男' $tupleUser->save(); $db->commit(); echo '保存成功!'; } catch (\Exception $e) { $db->rollback(); ErrorLog::log($e); echo '保存失败:' . $e->getMessage(); } ~~~