2个mysql表映射为1个扩展实体
Posted
技术标签:
【中文标题】2个mysql表映射为1个扩展实体【英文标题】:2 mysql tables mapped as 1 extending entity 【发布时间】:2013-06-21 15:28:33 【问题描述】:我有以下设置:
映射到我的客户表的原则实体客户端 映射到我的campaign_clients 表的理论实体CampaignClient在数据库中,campaign_clients.client_id 表示clients.id 的外键。在 Doctrine 中,您通常会在这两个对象之间建立关系。
但是,有人指出,Doctrine2 提供了为此提供良好 OO 结构的能力:class CampaignClient extends Client
。这样(根据理论)我可以检索 CampaignClient 并拥有所有可用的客户端字段,而无需使用 $campaign_client->getClient();
来获取 Client 对象。
所以我的问题是,它叫什么?我在谷歌上搜索了很多术语,但我就是不知道要查找什么。
【问题讨论】:
【参考方案1】:在文档中进行更多搜索后,我设法找到了一些东西。我需要的是类表继承:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/inheritance-mapping.html#class-table-inheritance
【讨论】:
以上是关于2个mysql表映射为1个扩展实体的主要内容,如果未能解决你的问题,请参考以下文章
doctrine2 映射覆盖从 MappedSuperclass 继承的 inversedBy 字段。
基于AbstractProcessor扩展MapStruct自动生成实体映射工具类