Как прервать сохранение экземпляра модели Laravel?
Ситуация следующая. Имею дело с денежными транзакциями. В случае, если сервер не ответил на запрос платёжной системы, он повторяет его.
Каждая транзакция записывается в бд.
Сейчас хочу сделать так, чтобы транзакции не записывались повторно, если сервер дал неверный ответ.
Для этого беру Id, который приходит вместе с транзакцией и записываю его в соответствующее поле таблицы.
Суть вопроса. Чтобы проверить, не создавалась ли ранее транзакция с таким же Id, я слушаю событие creating. Как мне из события можно прервать создание записи? Просто удалить созданный объект? Не нашёл такого метода в документации, но, скорее всего, просто плохо искал...
На уровне БД добавь ограничение уникальности на поле Id. Дополнительно на уровне кода перед созданием транзакции делай проверку через sql запрос exist.