Я управляю сложными объектами с множественными и разными отношениями с другими объектами, которые сами иногда связаны с несколькими другими объектами.
Я создаю форму редактирования и не хочу вручную кодировать различные запросы Doctrine 2 для обновления каждой сущности, связанной с измененной сущностью.
Возможно ли каскадное слияние сущностей в Doctrine 2? Под этим я подразумеваю изменение объекта и связанных с ним объектов (отношения один ко многим, МногиеToMany ...), а затем каскадное применение изменений к объекту и связанным объектам.
Если нет, то каков «чистый» способ применить модификации ко всем заинтересованным объектам? Нужно ли это делать вручную, вызывая слияние или обновление для каждой сущности?
извините, я удалил свой первый комментарий, потому что наткнулся на ответ это
@Dragos нет проблем




Похоже, вы работаете над Symfony (поправьте меня, если я ошибаюсь).
В формах symfony, когда вы работаете с нижележащими объектами, вам иногда нужно установить для параметра «by_reference» значение «false», чтобы правильно обрабатывать нижележащие измененные объекты.
Смотрите, что: https://symfony.com/doc/current/reference/forms/types/form.html#by-reference
Надеюсь, поможет.
Привет, я работаю над symfony, но использую его как api отдыха с угловатым фронтом. Я не использую формы Symfony.
Скорее всего, проблема не в Symfony, а больше в ваших отношениях с доктринами. Вам следует проверить свои ассоциации, поскольку изменения, внесенные только в обратную сторону ассоциации, игнорируются доктриной. Обратитесь к документация.
Мои отношения двунаправленные и работают правильно для создания нового объекта, но не при изменении существующего с помощью сохранения / слияния.
Да, это звучит полностью как проблема владения-обратной стороны, как я упоминал выше. Предлагаю проверить, вносите ли вы изменения только в обратную сторону ассоциации.
@Dragos да, я сделал, и он работает при правильном создании нового объекта со связанными объектами, используя persist. Но это не работает при вызове слияния с измененной существующей сущностью. При этом основной объект изменяется правильно, но изменения, внесенные в связанные объекты, полностью игнорируются.