удалении сущности в которой есть связи ?
Допустим есть User -> oneToMany -> Followers -> oneToMany -> Profile (cascade: remove)
при удалении Followers нужно известить User что произошло удаление и использовать информацию из Profile для этого (ну пусть будет часовой пояс или страна или что угодно)
обработка ивента асинхронная
таким образом Follower мы можем закинуть в FollowerDeleted($follower) и получить уже в хендлере какому User нужно закинуть оповещалку
а вот данные из Profile уже не получить, потому что его не существует и в Follower будет прокси
да, это можно решить через fetch:Eager но это повлияет на все обьекты в системе и создаст ненужную нагрузку
вот мне и интересно кто как делает ивенты на данные которые уже удалены ?
1. можно использовать fetch:eager чтобы получать обьект целиком, но это повлияет на нагрузку системы
2. можно конечно же передавать в ивент только нужную информацию, допустим ид юзера + ид фоловера + страну фоловера. для этого нужно сделать некий фасад или типа того который бы строил ивент перед тем как будет удален обьект из стораджа
3. какие еще варианты кто использует ?
создать dto и прокинуть в месенджер
Обсуждают сегодня