继承映射:用例

时间:2013-07-13 18:27:30

标签: inheritance symfony doctrine-orm doctrine symfony-2.3

我发现自己处于一个场景中:

配乐可以有多种乐器。

在那个配乐中,可能会有一些版本具有不同的音调和版本,没有任何乐器,或者有不同的音调,没有任何乐器。

总结:

  • 原声带
  • 音色不同的音轨
  • 没有任何乐器的配乐
  • 带有不同音调的配乐,没有一些乐器

要创建数据库,我曾想过使用继承映射,但我是初学者,不知道它是否正确!

提示?关于如何正确创建关系的想法?

我想:

配乐 - > N:M< - 仪器

配乐 - > ? - > Soundtrack_tone

配乐 - > ? - > Soundtrack_any_instrument

但我因缺乏经验而在此停留。

1 个答案:

答案 0 :(得分:1)

在您的情况下,您不需要继承。继承用于“是一种”关系,即吉他 - >仪器。 如果我读了你的问题,你似乎基本上有3个实体:

  • 原声
  • 仪器

音轨可能有多种乐器和多种音调。相同的乐器可以与各种音轨相关联,音调也是如此。 所以你需要创建2个关联:

  • 原声带 - >乐器(ManyToMany)
  • 原声带 - >音调(ManyToMany)