Laravel: Usando try… catch con DB :: transaction ()
Todos usamosDB::transaction()
para múltiples consultas de inserción. Al hacerlo, debería untry...catch
ser colocado dentro de él o envolviéndolo? ¿Es incluso necesario incluir untry...catch
¿Cuándo una transacción fallará automáticamente si algo sale mal?
Muestratry...catch
envolviendo una transacción:
// 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;
}
Lo contrario, unDB::transaction()
envolviendo un intento ... atrapar:
// Transaction
$exception = DB::transaction(function() {
// try...catch
try {
// Do your SQL here
}
catch(Exception $e) {
return $e;
}
});
return is_null($exception) ? true : false;
O simplemente una transacción sin probar ... atrapar
// Transaction only
$exception = DB::transaction(function() {
// Do your SQL here
});
return is_null($exception) ? true : false;