【发布时间】:2011-02-11 22:11:25
【问题描述】:
Production:
image_id
Image:
id
ImageForm 嵌入到 ProductionForm 中,图像是可选的。问题是,当通过 embeddedForm 将图像添加到已经存在的产品并且不更改产品表单中的任何标准值时,主表单不会保存(产品没有更改).. 除了它的image_id 需要更新。
问题是我错误地设置了这些表单,还是我需要在保存方法绑定中添加一些东西,我有两种看法。
请注意,如果作品是新的,即您同时添加新作品和图像,或者如果您正在编辑作品(即在另一个字段中更改其名称)并添加图像,则不会出现此问题。或者,如果您正在编辑已绑定的图像。
我大致了解为什么会发生这种情况,并且 Symfony 执行的顺序保存在表单中..但我不知道要添加什么才能使其正常工作。
到目前为止,涉及的代码并不多,只有在高级表单 jobeet 上找到的代码;我正在使用$this->embedRelation('Image'); 和后验证器 + saveEmbeddedForms 覆盖以避免保存空白图像。
总而言之:问题在于,如果您将图像添加到已经存在的产品中而不更改存储在产品表中的任何值,则图像会被保存,但与产品无关,image_id 存储在生产表仍然为空。
【问题讨论】:
标签: php symfony1 symfony-1.4