Symfony2 - 如何阻止表单>handleRequest使帖子数据中不存在的字段清空
我有一个在Symfony中构建的表单,当在视图中呈现时,html表单可能包含也可能不包含表单对象中的所有字段(实体类型具有几个不同的状态,并且并非所有字段都在视图中展开)。
问题是,当在提交处理程序中通过表单对象的 handleRequest() 方法处理表单时,它会将实体中不存在的任何属性重置为 null,从而丢弃任何现有值。
有没有办法告诉Symfony不要那么愚蠢,只处理POST数据中存在的字段?
或者,我是否必须在 handleRequest 调用之前克隆实体,然后遍历 POST 值,并将相关值从后 handleRequest 实体复制到实体的 pre-handleRequest 克隆,因此我保留了不在 POST 数据中的字段。
唷!正如你所看到的,这是一个愚蠢的解决方案,有点愚蠢的问题,tbh。
如果实体实际上是一个新创建的对象,但我可以从数据库加载,然后调用 handleRequest,我可以理解 symfony 这样做 - 它应该足够明智,知道对象已经初始化并且只设置 POST 数据中传递的字段。
感谢您的任何帮助。
问候
史蒂夫。