Laravel: Использование try… catch с DB ::action ()
Мы все используем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()
завернуть попробовать ... поймать:
// Transaction
$exception = DB::transaction(function() {
// try...catch
try {
// Do your SQL here
}
catch(Exception $e) {
return $e;
}
});
return is_null($exception) ? true : false;
Или просто сделка без попытки ... поймать
// Transaction only
$exception = DB::transaction(function() {
// Do your SQL here
});
return is_null($exception) ? true : false;