@vlog

Как прервать сохранение экземпляра модели Laravel?

Ситуация следующая. Имею дело с денежными транзакциями. В случае, если сервер не ответил на запрос платёжной системы, он повторяет его.
Каждая транзакция записывается в бд.

Сейчас хочу сделать так, чтобы транзакции не записывались повторно, если сервер дал неверный ответ.

Для этого беру Id, который приходит вместе с транзакцией и записываю его в соответствующее поле таблицы.

Суть вопроса. Чтобы проверить, не создавалась ли ранее транзакция с таким же Id, я слушаю событие creating. Как мне из события можно прервать создание записи? Просто удалить созданный объект? Не нашёл такого метода в документации, но, скорее всего, просто плохо искал...
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
@vism
r
 e
  t
   u
    r
     n

     f
    a
   l
  s
 e
;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Alex_Wells
@Alex_Wells
PHP/Kotlin
Комментировать
tmaslov22
@tmaslov22
Backend developer
На уровне БД добавь ограничение уникальности на поле Id. Дополнительно на уровне кода перед созданием транзакции делай проверку через sql запрос exist.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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