сущность Country. Пользователь может добавлять/редактировать/удалять страны. После каждого действия, я хочу запускать скрипт, который вытаскивает все страны и отправляет их на внешнее АПИ.
Я хочу добиться этого, используя события.
App\EventListener\CountryListener:
tags:
- { name: doctrine.event_listener, event: postPersist }
- { name: doctrine.event_listener, event: postSoftDelete }
- { name: doctrine.event_listener, event: postUpdate }
При создании отрабатывает postPersist, при обновлении postUpdate, а при удалении postSoftDelete.
С postSoftDelete проблема. Дело в том, что когда этот метод отрабатывает, в базе данных у страны поле deleted_at еще пустое, но доктрина показывает его уже с проставленным deleted_at.
Получается следующая ситуация: в postSoftDelete я достаю все страны из БД и там среди прочего мне возвращается и удаленная страна. У этой страны уже проставлено поле deleted_at. А мне нужно, чтоб удаленной страны там уже не было.
Почему так происходит и как мне добиться желаемого?
Доставай и в апи отправляй только не удалённые
если позволяет вам код - сделайте через messageBus
Обсуждают сегодня