https://github.com/doctrine/orm/blob/3.5.x/src/PersistentCollection.php `/**

  • @var Collection */ #[ORMOneToMany( targetEntity: Another::class, mappedBy: 'This', )] private Collection $anothers; Когда работаем с доктриновскими коллекциями - надо быть очень аккуратным. То, как в сущностях хранятся коллекции, может давать неожиданные сайд-эффекты. `php

$anothers = $entity-getAnothers(); $anothers->add($another);

// $entity->addAnother($another); будет выполнено "под капотом"

$anothers = clone $entity->getAnothers(); $anothers->add($another);

// А тут была создана абсолютно другая коллекция, которая никак не зависит от исходной

Мой личный кейс: В форме реализовывал чисто виртуальное поле, которое зависит от коллекции сущности. С удивлением обнаружил, что после сабмита происходит попытка вызвать у самой сущности метод -"addAnother". Потому что PersistentCollection прекрасно "помнит" своего "владельца" и пытается вызывать у него релевантные методы. А clone перехватывается и Persistent "забывает" о своей привязке.``