事務保證多個數據庫操作同時成功,數據庫相關操作出現異常時會統一拋出 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)