我在Symfony2中嵌入窗体时遇到问题。我可能会做一些技术上的错误,但也许我犯的错误是在数据库设置的层面上,并且首先嵌入表单并不是必要的。在提交代码之前,我们先关注一下。在Symfony2中使用嵌入式窗体
我做了两个实体:V和O.它们都代表位置,但指的是不同类型的位置。通过ref-id,它们每个引用一个实体地址。多个V可以指代相同的地址,多个O可以指代相同的地址,并且甚至可以在同一地址上具有V和O.显示V,O和地址的作用(控制器和路由工作)。创建或编辑地址也可以正常工作;我创建了一个名为AddressType的表单类型,并且此呈现并正常工作。
V和O也有formTypes:VType和OType。他们有他们的树枝模板,路线,控制器动作等。
现在我希望用户能够在窗体中输入新的V,其中也有可用于输入新地址的字段。所以我不希望用户从某种列表中选择一个已经存在的地址(但是我得到了这个工作),但我希望他们能够添加一个新地址。如果地址已经存在于数据库表“地址”中(这很可能),Symfony2应该引用该地址,而不是再次创建相同的地址。
现在我的问题是,我没有成功地呈现嵌入在V或O形式中的地址表单(AddressType)。基本上我想将AddressType表单渲染为V或O表单的一部分。这可能吗?
但是,它很可能是我的db-setup不好,我不应该使Address成为一个单独的实体(和db表),但我应该将它作为实体V和O的一部分。我也会解决这个问题,但这是否是一个好习惯?
我很感谢你的帮助。
让我们从基础开始。请更新您的问题,并发布Address,V和O之间的关系(yml或注释)。这将明确说明您正在使用哪种关系。 – Cerad 2012-04-12 13:40:44