Size: a a a

2021 January 30

VS

Valentin Saik in symfony
first name
Ребзя, всем привет.
Чет вообще туплю, может кто направить.
Хочу при обновление определенного свойства в сущности создавать новую запись в отдельной таблице.
Для этого я повесил листенера на событие preUpdate, но у меня там получался бесконечный цикл)
Погуглив,  я нашел решение, что можно создать свой эвент и выкидывать его при обновление этой сущности.
Но как правильно его выкидывать я не могу додумать.
1. В самой сущности? по идеи так низя
2. В месте, где обновляется сущность? тоже не совсем правильно.

Может кто делал, хотелось бы послушать какой-нибудь совет
Записывай событие внутри сущности, а выбрасывай после флаша. Сейчас скину пример
источник

fn

first name in symfony
Valentin Saik
Записывай событие внутри сущности, а выбрасывай после флаша. Сейчас скину пример
благодарю, это очень поможет :3
источник

VK

Vladyslav Kopaihorod... in symfony
first name
Какой алгоритм:
1. Сущность обновляется
2. Персис сущности
3. Флаш сущности
—Все норм, вешаем событие на preUpdate
4. В обработчике события создаем новую сущность
5. Персистим новую сущность
— Все норм, в массиве юнитОфВорка есть эти 2 сущности
6. Флашим в обработчике и попадает в беск.рекурсию
Если без флаша, то отрабатывает только флаш под №3
проблема в том, что preUpdate вроде вызывается уже во flush, того и персист у тбея не работает
источник

fn

first name in symfony
Vladyslav Kopaihorodskyi
проблема в том, что preUpdate вроде вызывается уже во flush, того и персист у тбея не работает
да я знаю)
источник

VS

Valentin Saik in symfony
first name
благодарю, это очень поможет :3
https://elisdn.ru/blog/104/domain-entities-modelling

Ищи методы recordEvent + releaseEvents
И разбирайся как применить
источник

VK

Vladyslav Kopaihorod... in symfony
та ну йобана
источник

fn

first name in symfony
Ого, Елисеев))
Но щас чекним
источник

VK

Vladyslav Kopaihorod... in symfony
first name
да я знаю)
так чего ты пишешь что "почему-то не работает" ? я пытаюсь тебя заставить подумать
источник

VK

Vladyslav Kopaihorod... in symfony
ну йомайо
источник

VK

Vladyslav Kopaihorod... in symfony
там же изи решение
источник

VK

Vladyslav Kopaihorod... in symfony
каждый делал ебучее логирование сущностей или еще что-то типа того на ивентах))
источник

fn

first name in symfony
Vladyslav Kopaihorodskyi
каждый делал ебучее логирование сущностей или еще что-то типа того на ивентах))
"ебучее логгирование" через монолог все делали
источник

fn

first name in symfony
но это же в БД уже, не все это делали
источник

VK

Vladyslav Kopaihorod... in symfony
как раз в бд и делали))
источник

VK

Vladyslav Kopaihorod... in symfony
@Vsaik забей, там эктив рекорд, я увидел
источник

VK

Vladyslav Kopaihorod... in symfony
только не бери то ебучее решение, проще уже создать сущность и все
источник

fn

first name in symfony
опять же, тут эвенты смешиваются с сущностями, к чему они там)
источник

VS

Valentin Saik in symfony
first name
опять же, тут эвенты смешиваются с сущностями, к чему они там)
Ивенты домена, сущность тоже в доменном слое, не вижу проблем
источник

fn

first name in symfony
Но, если не найду шаблонного решения, сделаю так:3
источник

VK

Vladyslav Kopaihorod... in symfony
first name
Но, если не найду шаблонного решения, сделаю так:3
источник