gpt4 book ai didi

php - 如何确保 Symfony EmbeddedForm 的对象绑定(bind)到表单的对象?

转载 作者:行者123 更新时间:2023-12-04 15:04:58 25 4
gpt4 key购买 nike

Production:
image_id

Image:
id

ImageForm 嵌入到 ProductionForm 中,图像是可选的。问题是当将图像添加到 已经存在 通过 EmbeddedForm 进行生产并且不更改生产窗体中的任何标准值,不保存主窗体(生产没有更改).. 除了它的 image_id需要更新。

我有两种想法,问题是我错误地设置了这些表单,还是我需要在保存方法绑定(bind)中添加一些东西。

请注意,如果作品是新的,即您同时添加新作品和图像,或者您正在编辑作品(即在另一个字段中更改其名称)并添加图像,则不会发生此问题。或者,如果您正在编辑已绑定(bind)的图像。

我大致理解为什么会发生这种情况,并且 Symfony 执行的顺序保存在表单中。但我不知道要添加什么才能使这项工作正常进行。

到目前为止,涉及的代码并不多,只有在高级表单 jobeet 上找到的代码;我正在使用 $this->embedRelation('Image');和一个后验证器 + saveEmbeddedForms 覆盖以避免保存空白图像。

总结:问题在于,如果您将图像添加到已经存在的产品中而不更改存储在产品表中的任何值,则图像会被保存,但与产品无关,image_id 存储在产品表中保持为空。

最佳答案

我和 $this->getObject()->setUpdatedAt(date('c')); 一起工作.. 一个不那么 hacky 的解决方案将不胜感激。

关于php - 如何确保 Symfony EmbeddedForm 的对象绑定(bind)到表单的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4974596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com