tp5 事务处理我理解的就是当两个数据库,或者连续操作关系很密切,你操作A会影响操作B时就需要手动事物处理。如果操作A成功操作B发生错误,如果不进行事物处理的话,虽然操作B会报错,但是操作A是成功的,使用事物处理就会返回到操作前,举个例子:我有100元,现在需求是要转账给你50,那么简单来说就需要两个操作,我的账户-50,你的账户+50,不进行事物处理的话,如果扣款成功了,但是执行给你加钱操作时异常的话你没收到钱,那这50元就不翼而飞了?
// 手动控制事务的提交
Db::startTrans();
try{ Db::table('tp_data')->delete(2);
Db::table('tp_data')->insert(['id'=>8,'name'=>'thinkphp','status'=>1]);
// 提交事务
echo 'try'; Db::commit();
}catch(\Exception $e){
// 回滚事务
echo 'catch';
Db::rollback(); }