我先来概述一下这个场景.我有一个可以分配给许多不同对象的Note对象
一本书可以有一个或多个注释.
>图像可以有一个或多个Notes.
> A地址可以有一个或多个Notes.
我想像的数据库如下所示:
书
id | title | pages 1 | harry potter | 200 2 | game of thrones | 500
id | full | thumb 2 | image.jpg | image-thumb.jpg
地址
id | street | city 1 | 123 street | denver 2 | central ave | tampa
注意
id | object_id | object_type | content | date 1 | 1 | image | "lovely pic" | 2015-02-10 2 | 1 | image | "red tint" | 2015-02-30 3 | 1 | address | "invalid" | 2015-01-05 4 | 2 | book | "boobies" | 2014-09-06 5 | 1 | book | "prettygood" | 2016-05-05
问题是,我如何在Doctrine内建模.关于单表继承的一切,我没有一对多的关系.
要注意(没有双关意图),您可能会注意到该笔记根本不需要基于与之相关的对象的唯一属性.
理想情况下,我可以执行$address-> getNotes(),它将返回$image-> getNotes()返回的相同类型的Note对象.
我至少要解决的问题是避免有三个不同的表:image_notes,book_notes和address_notes.