我应该如何在Doctrine中使用Join表

时间:2015-10-15 13:14:27

标签: mysql symfony doctrine-orm

我会尽力解释我的问题。我的项目中有一堆模块都有附件。因为我不想为每个模块制作单独的附件表,所以我们的想法是拥有一个通用附件表和相应的实体。

attachments
- id
- name
- location
- fileType

为了能够分开彼此的附件,我做了一个参考(加入)表。

attachment_references
- id
- type (mail, order, ticket etc.)
- parentId (mailId, orderId, ticketId)
- attachmentId

然后我分别得到了订单,邮件和门票的表格。

但是,我不知道如何设置我的实体以使其工作。有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

使用教义,您可以使用类继承。创建一个基类attachment类,然后为从基类继承的每个用例创建一个特殊类。继承类将包含与其他实体的关系,而基类包含对所有实体都相同的字段。

Doctrine将为每个人创建一个单独的表格,但你不必担心这一点。

请看一下这个链接:http://doctrine-orm.readthedocs.org/projects/doctrine-orm/en/latest/reference/inheritance-mapping.html