我想写以下逻辑。如果整个循环成功(也就是说,如果作为循环对象的数组的每个元素都被转换),那么应该进行数据库操作(提交)。
我写了以下内容:
if ($room->save ){ # this line i cant modify
for ( @{ $room->members } ) {
if ( $_->save ){
$room->ds->commit;
} else {
return $c->render_ng_json("fail");
}
}
我的问题是,在我的代码中,每次$_->save成功,都会应用数据库操作,代价太高。如果有 12 个成员,并且每个成员都成功保存,则将有 12 次尝试提交。我希望 perl 分析整个循环是否没有错误(也就是说,如果每个成员都已保存),并且只有在这种情况下,才进行提交。这个逻辑怎么写?