DB::beginTransaction(); foreach($checkArr[0] as $v){ $id = explode('-',$v)[0]; $rank = explode('-',$v)[1] != '' ? explode('-',$v)[1] : 5; if(index_friendlink::where('id','=',$id)->pluck('online') == 1){ $updrank = index_friendlink::find($id); $updrank -> rank = $rank; $updrank -> save(); } } $ret = index_friendlink::where('online','=','1')->get(); foreach($ret as $v) { $retRank[] = $v->rank; } if (count($retRank) != count(array_unique($retRank))) { DB::rollback(); echo '2'; exit; } DB::commit(); 怎么回滚不了,第一次使用laravel,求大神解答,数据库已改成innodb
DB::beginTransaction(); foreach($checkArr[0] as $v){ $id = explode('-',$v)[0]; $rank = explode('-',$v)[1] != '' ? explode('-',$v)[1] : 5; if(index_friendlink::where('id','=',$id)->pluck('online') == 1){ $updrank = index_friendlink::find($id); $updrank -> rank = $rank; $updrank -> save(); } } $ret = index_friendlink::where('online','=','1')->get(); foreach($ret as $v) { $retRank[] = $v->rank; } if (count($retRank) != count(array_unique($retRank))) { DB::rollback(); echo '2'; exit; } DB::commit(); 怎么回滚不了,第一次使用laravel,求大神解答,数据库已改成innodb
你的回滚条件是用 php 进行判断,而事务应该脱离 php ,mysql 中就能直接实现的吧,比如说删除或者插入失败或者没有走到 commit 回滚。进这个问题看看
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号