【问题标题】:Symfony2 - Saving child and parent from the same formSymfony2 - 从同一个表单中保存孩子和父母
【发布时间】:2014-01-15 10:52:28
【问题描述】:

我是 Symfony2 的新手,我一直在努力解决处理表单提交的问题。我不禁觉得我错过了一些愚蠢的东西,但是在谷歌搜索并没有找到任何解决方案之后,我想我会在这里发布我的问题。

所以,我有一个表单来创建子实体并编辑父实体上的几个字段。为了构建表单,我使用了 FormBuilder,我在其中添加了两种表单类型(一种用于子级,一种用于父级)。父类型包括父的 ID 字段。

在处理表单提交的操作上,我调用了 handleRequest 失败的原因:

属性“id”和方法“setId()”、“_set()”或“_call()”都不存在,并且在类“Ahms\MyBundle”中具有公共访问权限\Entity\Parent”。

当父 id 字段是表单的一部分时会发生这种情况,当它不是表单的一部分时会顺利运行。

我错过了什么?

谢谢!

【问题讨论】:

    标签: symfony entity parent-child


    【解决方案1】:

    如果从子控制器创建表单,则必须在子类中声明 id 并且必须编写 public function setId($id)public function getId() 方法。

    【讨论】:

    • 感谢您的回复。我可以在父实体中创建 setId 方法。但这似乎是错误的,因为我不应该更改实体 ID。而且,如果这有助于更好地理解我的问题,我正在使用子实体创建表单。
    • 如果您创建了表单子控制器并且 id 不在子实体中,您必须添加它。您可以将其添加为另一个名称。你能上传你的子实体和控制器吗..我可以改变它
    猜你喜欢
    • 1970-01-01
    • 2012-10-16
    • 2013-07-17
    • 2019-05-04
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 2018-01-15
    相关资源
    最近更新 更多