один сервис обновляет сущность А
2. Через другой серсис создаёт сущность Б, которая через ManyToOne релейтится с сущностью А
3. Через первый сервис берёт сущность А и выполняет действия со всеми имеющимися у него сущностями Б.
При первом запросе к контроллеру (когда у сущности А ещё не прикреплено ни одной сущности Б) - на втором шаге создаётся Б, но та третьем шаге при попытке получить коллекцию сущностей Б у сущности А - коллекция пустая. Хотя я получаю её заново из репозитория, а не использую ту же версию, что на первом шаге. Будто доктрина не делает доп запрос, а тянет сущность из кеша.
Но при втором запросе к этому контроллеру - коллекция уже состоит из двух(!) сущностей Б - из той. что создалась при первом запросе и из той, что создалась сейчас.
Почему поведение различается?
Как заставить при первом запросе получить коллекцию из одного элемента?
$a->setB(new B)
Да, сейчас пробую перестроить логику сервисов на этот вариант. Но всё равно интересно, почему отличается поведение? Я бы понял если бы при втором запросе была бы только одна сущность Б - созданная на предыдущем запросе и полученная сейчас на шаге 1. Но там 2 штуки $b
Обсуждают сегодня