тогда значит где-то ранее указано что нужно вписать. голый флаш - не пропишет, ему нужно что-то !
EntityManager в нормальном случае сам отслеживает все изменения в ранее загруженных из БД объектах. Есть конечно возможность настроить сущность так, чтобы она не следила за изменениями и надо было вручную сообщать доктрине "вот это вот поле изменилось", но это крайне редкий юзкейс и даже в этом случае `merge` здесь не при делах, там иначе это делается. Merge следует использовать когда объект был создан/получен в обход доктрины, но при этом в БД уже есть запись с таким же Id. Таким образом merge() аналогично persist() сообщает доктрине о том, что этот объект нужно отслеживать и сохранять его изменения, при этом во время flush() ранее вызванный persist() порождает операцию insert, а merge() - update.
Подробнее см. https://www.doctrine-project.org/projects/doctrine...
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
EntityManager в нормальном случае сам отслеживает все изменения в ранее загруженных из БД объектах. Есть конечно возможность настроить сущность так, чтобы она не следила за изменениями и надо было вручную сообщать доктрине "вот это вот поле изменилось", но это крайне редкий юзкейс и даже в этом случае `merge` здесь не при делах, там иначе это делается. Merge следует использовать когда объект был создан/получен в обход доктрины, но при этом в БД уже есть запись с таким же Id. Таким образом merge() аналогично persist() сообщает доктрине о том, что этот объект нужно отслеживать и сохранять его изменения, при этом во время flush() ранее вызванный persist() порождает операцию insert, а merge() - update.
Подробнее см. https://www.doctrine-project.org/projects/doctrine...