教义的继承与联系

问题描述

我有一个具有属性的实体图像

data MyType = MyString String | MyInt Int | MyMap [(String,MyType)] deriving (Show,Eq)

现在,我需要添加新的图像类型,该图像类型将具有 all 作为现有类的属性,以及一些新属性,例如作者名称,外部url,作者的url ...我们称之为 ExternalImage 。现有图像不需要这些属性。

然后我需要将图像属性添加到 Event 类中,它可以是Image或ExternalImage。

另一个用例是我需要列出所有图像(在某个API端点上一次列出这两种类型)。

我的解决方法是:

class Image {   

private $id
private $name;
private $mimeType;
private $size;  }

并使用SINGLE TABLE Doctrine的继承。然后将OneToOne关联添加到Event类(添加image_id属性)。

ExternalImage extends Image
 .. add new properties
  1. 继承适用于此示例吗?从我的角度来看,我看不到任何其他解决方案。我们在Image和ExternalImage之间有很强的“是”关系。
  2. 我知道将STI实体用作一对一关联的目标实体时会遇到性能问题-当我获取Event对象时,不会延迟加载图像实体。我可以为此做些什么吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)