Thinkphp5 事务和foreach连用注意事项
Thinkphp5 中使用 事务和foreach时出现Db::startTrans();
try{
foreach ($item_arr as $val){
}
Db::commit();
$this->success('ok',$ids);
}catch (\Exception $e) {
Db::rollback();
$this->error('数据存储错误,请重试');
}
会出现抛出异常,但是实际上数据库已经事务处理完成了。
解决办法:
Db::startTrans();
try{
foreach ($item_arr as $val){
}
Db::commit();
$this->success('ok',$ids);
}catch (\think\Exception\DbException $e) {
Db::rollback();
$this->error('数据存储错误,请重试');
}
页:
[1]