我的应用程序使用Symfony2,关系映射使用Doctrine .orm.yml文件。
我有以下三个实体:
我的问题是,我不知道如何在三个实体(投资组合、用户和进度)之间设置多个关系。
我希望以这样的方式设置一个关系,即作为这种关系的结果创建的新表包含以下字段:
在上面的列表中,created_at、updated_at和type是我要用于某些业务规则的字段。
请有人帮我写他们的.orm.yml文件。据我所知,Symfony2中有内置的命令生成实体及其相应的.orm.yml文件。但我不知道如何在相应的文件中写入上述所需的关系。
发布于 2015-05-22 02:51:31
您需要为这种关系创建单独的关联表。您的ORM文件将类似于:
Application\Bundle\Entity\nameofAssociationTable:
type: entity
table: nameofAssociationTable
fields:
id:
type: integer
id: true
generator:
strategy: AUTO
manyToOne:
user:
targetEntity: Application\Bundle\Entity\User
cascade: { }
mappedBy: null
inversedBy: null
joinColumns:
user_id:
referencedColumnName: id
orphanRemoval: false
portfolio:
targetEntity: Application\PLibBundle\Entity\Portfolio
cascade:
- persist
- remove
mappedBy: null
inversedBy: null
joinColumns:
portfolio_id:
referencedColumnName: id
orphanRemoval: false
lifecycleCallbacks: { }
同样,您需要将关系添加到manytoOne关系中。谢谢。
https://stackoverflow.com/questions/30394355
复制