我想以我的形式显示实体中的元素列表。在每个元素附近,都应该有一个删除按钮,它将从entty中删除特定的元素。
你知道我该怎么做吗?
示例:3个实体:个人、附属机构和个人附属机构。一个人有0个或多个从属关系。比方说,我为这个人创建了10个从属关系,现在我想删除其中一个。如何创建表单以显示特定人员的所有附属关系列表,并在每个附属关系附近显示一个小的删除图标。单击此图标时,应删除此人的附属关系。
您必须嵌入一组表单并使用大量Javascript。它在Symfony2食谱中!
按照上面链接中提供的标签示例操作!很容易,您必须为每个要删除的子表单放置一个带有">remove"或">x"字符串的锚点,并使用Javascript处理删除。
表单插入是通过使用需要添加的子表单的Prototype来完成的,但似乎不需要插入。
请注意,在您的示例中,您必须创建一个空的Person
对象,并向其中添加预定义的Affiliation
对象列表,以便FormBuilder
能够呈现与Affiliation
相关的表单。然后您可以使用Javascript删除子表单。当然,通常最好定义专用的表单类型。
如果您只需要取消选择与主实体有关系的实体列表,那么您可以使用实体字段类型,并且您可以使用展开选项将其呈现为复选框列表。您的控制器将绑定实体和相关关系,因此Symfony将取消先前的关系。