目标:
将多对多关系显示为选择输入的动态列表(单选下拉列表)
用户使用单个选择字段(multiple = false)到达页面,其中填充了持久化实体和添加/删除按钮。通过单击添加按钮,第一个下方将显示具有相同选项的新选择字段,这将在M2M关系中添加新条目。通过单击删除,该字段将消失,并且应删除该条目。
型号:
两个实体:User&经理。用户只有一个“特殊”经理和无限正常经理。 经理管理无限的用户。为了模拟这个我创建了两个关系,用户是“所有者”(不知道如何翻译)
我没有创建与属性“特殊”的多对多关系,因为要求只是一个特殊的经理,我不确定Symfony / Doctrine是否会引起问题。
我有什么:
问题:
在继续挖掘之前,是否有一种简单的方法来实现这个选择标签列表?
答案 0 :(得分:1)
对于最终可能需要动态选择字段列表的其他人:
我最初通过分离事件侦听器中的字段并在控制器中手动处理显示/提交来解决此问题。
然而,我对这个笨重的解决方案并不满意,当我遇到同样的需求时,我使用了第二个解决方案:创建一个中间实体xxxChoice(在本例中为ManagerChoice),它与用户相关的Mto1反向和与Manager相关的Mto1。然后通过使用“Manager”实体字段类型创建ManagerChoiceType表单,我能够轻松显示我的下拉列表选择列表。