如何判断doctrine:mapping:import来创建自己的实体而不是junction-table

时间:2016-02-18 14:54:45

标签: php symfony doctrine-orm doctrine

我有三张桌子:

  • banners(id,url,img)
  • banner_on_position(横幅,位置,载入)
  • banner_positions(id,name)

当我运行doctrine:mapping:import时,doctrine只创建两个表。横幅和BannerPositions。自动生成不会为banner_on_position表创建自己的实体。

有没有办法用querybuilder访问loading属性? 要么 如何告诉学说创建自己的实体?

到目前为止,我对自动生成实体没有任何问题,而且非常舒适。我希望我不必手动创建代码。

1 个答案:

答案 0 :(得分:0)

在这种情况下,您必须手动创建代码。如果你的many_to_many表有一些额外的属性,那么你需要使用这个技巧:双方需要使用oneToMany的{​​{1}}关系,banner_on_position需要banner_on_position两个表。

检查我们在类似情况下是如何做到的(ContainerWidget有链接到容器,小部件和自定义参数 - 位置)。 https://github.com/superdesk/web-publisher/blob/master/src/SWP/Bundle/TemplateEngineBundle/Resources/config/doctrine/ContainerWidget.orm.yml

这也是stackoverflow上非常好的问题和答案:Doctrine2: Best way to handle many-to-many with extra columns in reference table