aprenoir
@aprenoir
программный архитектор

Почему Laravel не сохраняет данные в БД при HttpException?

Пробую сохранить данные в БД, но если в коде есть HttpException, то Laravel ничего не сохраняет. При этом код прекрасно работает без последней строчки throw new AppHttpException). Судя по всему идет роллбэк, т.к. id увеличивается даже если записи в таблице нет.

Как заставить вместе работать сохранение и вывод исключения.

$order_wait = new OrderWait();
$order_wait->order_id = $order->id;
$order_wait->save();
throw new AppHttpException(null, 465071, 'user balance too low for inner contract', [$id, $user->id, $user->balance], 404);
  • Вопрос задан
  • 455 просмотров
Пригласить эксперта
Ответы на вопрос 1
@anlamas
try {
    DB::beginTransaction();
    .....
    DB::commit();
} catch(Exception $exception) {
    DB::rollback();
    throw new AppHttpException(null, 465071, 'user balance too low for inner contract', [$id, $user->id, $user->balance], 404);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы