Задать вопрос
@vlog

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

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

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

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

Суть вопроса. Чтобы проверить, не создавалась ли ранее транзакция с таким же Id, я слушаю событие creating. Как мне из события можно прервать создание записи? Просто удалить созданный объект? Не нашёл такого метода в документации, но, скорее всего, просто плохо искал...
  • Вопрос задан
  • 209 просмотров
Подписаться 2 Простой 1 комментарий
Ответ пользователя Timur Maslov К ответам на вопрос (3)
tmaslov22
@tmaslov22
Backend developer
На уровне БД добавь ограничение уникальности на поле Id. Дополнительно на уровне кода перед созданием транзакции делай проверку через sql запрос exist.
Ответ написан
Комментировать