【发布时间】:2015-08-23 15:35:11
【问题描述】:
我的一个表单遇到了一个棘手的问题。
底层对象(实体)非常简单:Work ManyToOne Artist。
在 WorkType 表单上工作时,我的 UI 使字段 artist 无用,因为我在使用填充对象 $work 构建表单之前总是这样做 $work->setArtist($artist)。一切都好。因此,我在此表单中没有 artist 字段。我的表单包含一些依赖于基础artist 值的字段,因此我必须在提交表单之前(而不是之后)设置艺术家。
现在我正在制作一个嵌入 WorkType 的 MasterType 表单。这次我不能在构建表单之前设置艺术家,作为MasterType提交数据的艺术家结果。
我的问题是:如何将艺术家设置为嵌入式 WorkType 的基础对象?
必须在提交MasterType之后,因为艺术家依赖于提交的数据,但在提交WorkType之前,因为WorkType表单包含依赖于艺术家的字段。
到目前为止,我已经尝试破解几个事件但没有成功。使用 MasterType 上的 SUBMIT 事件,我无法在嵌入式 WorkType 上设置数据,而不会遇到“您无法在提交的表单上设置数据”。
非常感谢您提供任何见解!
【问题讨论】:
-
请显示一些代码。例如你的表单类型和控制器:)
标签: symfony symfony-forms