问题描述
我有一个具有属性的实体图像:
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
- 继承适用于此示例吗?从我的角度来看,我看不到任何其他解决方案。我们在Image和ExternalImage之间有很强的“是”关系。
- 我知道将STI实体用作一对一关联的目标实体时会遇到性能问题-当我获取Event对象时,不会延迟加载图像实体。我可以为此做些什么吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)