【问题标题】:embed onetomany entity not as a collection, just one entity嵌入onetomany实体而不是集合,只是一个实体
【发布时间】:2012-10-02 15:34:14
【问题描述】:

我对 symfony 2 和它的形式还不太熟悉。

我的场景:
我有一个帐户实体和一个 account_address 实体。这是这些实体之间的老式 oneToMany 关系。主要形式是将 AccountAddressType 嵌入为 ArrayCollection 的 AccountType - 这可以正常工作。表单在页面上呈现了很多 AccountAddressTypes,这没关系,因为这是一个集合,但是可以仅使用一个 AccountAddressType 构建相同的表单吗? (这个 id 来自请求)

我只想要相同的表单,但只有一个嵌入表单,其中包含给定实体的地址字段。我尝试了很多在网上找到的解决方案,但对我没有任何帮助。

例子:

  • 帐户实体
    • 电子邮件
  • 帐户地址实体
    • 名字
    • 姓氏

如何创建一个表单,上面显示的这些字段只有一个表单? (在表单类中)

【问题讨论】:

  • 你使用的是 Symfony2.0 还是 Symfony2.1 ?

标签: forms collections symfony


【解决方案1】:

这个例子在 Symfony2.0 中工作,不确定 2.1。您将在前端获得一个隐藏字段,其中包含微数据中的一些代码。将它与 JavaScript 一起使用,以便您可以显示表单字段。

->add('adress', 'collection', array('type'  => new AdressType,
                                              'prototype' => true,
                                              'allow_add' => true));

这是你应该在前端得到的:

<div id="randomId" data-prototype="everything about your field, get this value and use it with JavaScript">
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多