우리는 모두 DB::transaction()
다중 삽입 쿼리에 사용 합니다. 그 안에을 try...catch
넣거나 포장해야합니까? 문제가 try...catch
발생하면 트랜잭션이 자동으로 실패 할 때 를 포함해야 합니까?
try...catch
트랜잭션 래핑 샘플 :
// try...catch
try {
// Transaction
$exception = DB::transaction(function() {
// Do your SQL here
});
if(is_null($exception)) {
return true;
} else {
throw new Exception;
}
}
catch(Exception $e) {
return false;
}
반대로 DB::transaction()
try ... catch :
// Transaction
$exception = DB::transaction(function() {
// try...catch
try {
// Do your SQL here
}
catch(Exception $e) {
return $e;
}
});
return is_null($exception) ? true : false;
또는 단순히 try ... catch없이 트랜잭션
// Transaction only
$exception = DB::transaction(function() {
// Do your SQL here
});
return is_null($exception) ? true : false;