【问题标题】:Pass two entities in one Form在一个表单中传递两个实体
【发布时间】:2013-07-04 14:36:33
【问题描述】:

我有一个小问题: 当我想使用 createForm() 函数构建表单时。 如何向其中添加第二个实体?

这是我的示例代码。

public function newAction()
{
    $entity = new Event();
    $picture = new Picture();

    $form   = $this->createForm(new EventType(), $entity);

    return array(
        'entity' => $entity,
        'form'   => $form->createView(),
    );
});

我在$form 上尝试了添加功能,但它不起作用。 现在我将图片中的实体字段添加到我之前创建的表单中。 感谢您的帮助。

【问题讨论】:

  • 实体eventpicture是否相关?
  • 是的一对多。一个 Event 有很多图片。
  • 看看how to embed a collection of forms 文档(让它正常工作需要做大量工作)
  • 是的,很好。但是图片的输入类型为空。也许文档是用于输入而不是用于文件上传?
  • 它与文件上传一样 - 你的eventtype 有一个picturetypes 的集合 - 图片类型可以包含一个文件

标签: php forms symfony formbuilder


【解决方案1】:

处理您的情况的正确方法应该是使用子表单/字段类型。

创建一个表单EventPictureType 并将EventTypePictureType 添加到其中。

请参阅食谱章节 Embedded FormsHow to Create a Custom Form Field Type

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-29
    • 2011-08-10
    • 2021-03-09
    相关资源
    最近更新 更多