У меня есть форма, встроенная в Symfony, и при визуализации в представлении форма html может содержать или не содержать все поля в объекте формы (тип объекта имеет пару разных состояний, а не все поля в представлении).
Проблема заключается в том, что, когда форма обрабатывается в обработчике отправки, с помощью метода handleRequest() объекта формы, он сбрасывает любые свойства в сущности, которые не присутствуют в данных сообщения, до нуля, сдувая любое существующее значение.
Есть ли способ сказать Symfony не быть таким глупым и обрабатывать только поля, присутствующие в данных POST?
Или мне нужно клонировать объект перед вызовом handleRequest, а затем перебирать значения POST и копировать связанные значения из объекта post-handleRequest в клон pre-handleRequest объекта, поэтому я сохраняю поля, которые не указаны в данных POST.
уф! как вы можете видеть, это немного глупое решение, немного неприятная проблема, tbh.
Я мог бы понять, что symfony делает это, если объект был фактически созданным объектом, но он был загружен из БД, а затем вызван handleRequest - он должен быть достаточно разумным, чтобы знать, что объект уже инициализирован и заданы только поля переданные в данных POST.
Спасибо за любую помощь.
Привет
Steve.