事务保证多个数据库操作同时成功,数据库相关操作出现异常时会统一抛出 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();
}
~~~
- 系统介绍
- 安装
- 核心工厂(Be)
- 数据库(Db)
- 配置文件
- 连接多个库
- 获取多条记录
- 对象数组(getObjects)
- 二维数组(getArrays)
- 一维数组形式(getValues)
- 获取带索引的多条记录
- 对象数组(getKeyObjects)
- 二维数组(getKeyArrays)
- 键值对(getKeyValues)
- 获取迭代器形式的多条记录
- 对象数组(getYieldObjects)
- 二维数组(getYieldArrays)
- 单列数组(getYieldValues)
- 获取单条记录
- 对象形式(getObject)
- 数组形式(getArray)
- 单个值(getValue)
- 插入/更新/替换
- 插入(insert)
- 批量插入(insertMany)
- 更新(update)
- 批量更新(updateMany)
- 替换(replace)
- 批量替换(replaceMany)
- 快速处理(quick***)
- 其它
- 防注入
- 执行SQL
- 事务/异常处理
- 表模型(Table)
- 条件查询(where)
- 获取多条记录
- 对象数组(getObjects)
- 二维数组(getArrays)
- 获取带索引的多条记录
- 对象数组(getKeyObjects)
- 获取迭代器形式的多条记录
- 联表查询
- 左连接(leftJoin)
- 右连接(rightJoin)
- 内连接(innerJoin)
- 聚合
- 求和(sum)
- 汇总(count)
- 最小值(min)
- 最大值(max)
- 平均值(avg)
- 其它
- 行模型(Tuple)
- 缓存(Cache)
- 配置文件
- 如何使用
- 会话(Session)
- 配置文件
- 如何使用
- Cookie
- 主题、模板
- 主题/模板结构
- 模板继承
- 模板包含
- 注解
- 配置文件
- 配置项驱动:整型
- 配置项驱动:字符
- 控制器权限
- 扩展(Plugin)