我有三个表:
- 横幅(ID、网址、图像)
- banner_on_position(横幅、位置、加载)
- banner_positions(ID,姓名)
当我运行 doctrine:mapping:import 时,doctrine 只创建两个表。横幅和横幅位置。自动生成不会为banner_on_position表创建自己的实体。
有没有办法使用查询生成器访问加载属性?或如何告诉教义创造自己的实体?
到目前为止,我对自动生成实体没有任何问题,而且非常舒适。我希望我不必手动创建编码。
在这种情况下,您必须手动创建代码。如果您的many_to_many表有一些额外的属性,那么您需要使用该技巧:双方都需要使用oneToMany
关系进行banner_on_position
,banner_on_position
需要对两个表都manyToOne
。
检查我们在类似情况下是如何做到的(ContainerWidget 有指向容器、小部件和自定义参数 - 位置的链接)。 https://github.com/superdesk/web-publisher/blob/master/src/SWP/Bundle/TemplateEngineBundle/Resources/config/doctrine/ContainerWidget.orm.yml
这里也是关于stackoverflow的非常好的问答: 原则2:在参考表中使用额外列处理多对多的最佳方法