在many_to_many symfony2关系中添加额外字段

时间:2014-11-16 14:02:49

标签: symfony many-to-many sonata-admin symfony-2.5

我正在寻找一种方法来处理symfony2中与许多关系的多个关系,我有3个实体:技能/训练/技能训练。每次训练都会影响一些技能并提高这些技能的水平。 所以Skill-Training表就像这样(skill_id,training_id,target_level)

在训练形式中我想列出所有技能和每种技能的目标等级,因此我可以选择一项技能并添加将受此训练影响的目标等级(1到5的整数)。我想在培训实体的添加表单中执行此操作。

我使用Sonata Admin Bundle要生成我的Admin Classes,我可以轻松地使用复选框呈现技能列表(使用类型集合,并且选项展开true,多个为true)但我想知道如何渲染额外字段target_level in每个技能的前面都是训练形式?

如果你帮助我,我会非常感激的。我正在寻找解决方案3天没有任何进展...谢谢

1 个答案:

答案 0 :(得分:1)

以下是类似的问题:

Doctrine2: Best way to handle many-to-many with extra columns in reference table

Doctrine 2 and Many-to-many link table with an extra field

TL; DR:不幸的是,关系不能有任何额外的字段。您需要创建一个实体,它将具有两个关系(使用技能和培训实体)和目标级别的属性。