我试图将一组事件存储在另一个实体中。为此,我有以下实体:
// Something that contains a load of events.
Something:
id
events
// An actual event.
Event:
id
timestamp
eventname
可能会创建不同的事件,其中不同的类型具有不同的属性。例如,key_down
事件具有binding
属性,而damage
事件具有amount
。以前我通过为每种事件类型设置一个表来解决MySQL中的问题:
key_down:
code
binding
damage:
target
amount
将eventname
指向适当的表格:
id | timestamp | eventname
--------------------------
1 | 2.5s | key_down
2 | 3.0s | key_up
3 | 7.4s | key_down
4 | 8.9s | damage
我的问题是,在MySQL中存储这些内容的正确方法是什么,以及如何在Doctrine中表示这一点?在面向对象的设计中,我将事件存储为Event
的子类。