我有两种不同类型的对象,比如事件和人。每个人都可以参加多个活动。我想要两张table
event
- id [int (4),primary]
- name [varchar (30)]
- …
person
- id [int (4),primary]
- name [varchar (30)]
- mail [varchar (60),unique]
- attends [Array of events.id]
因此,该领域 person.attends
应该是一个长度为4的整数数组,我想告诉mysql这个数组中的每个值都是 event.id
. 有什么办法吗?
2条答案
按热度按时间pxyaymoc1#
对于多对多关系,你需要一个桥接表。
因此,添加
PersonEvent
表到您的模型sczxawaw2#
这不是正确的方法。您需要从数据库规范化的Angular 考虑:您在
person
以及event
每个人可能有许多事件,每个事件可能有许多人。要建立这种关系的模型,需要一个桥接表,如:桥接表包含一个自动递增的id、引用其他两个表的外键以及防止重复的唯一约束。
现在,假设您要列出所有参与给定事件的人员的姓名: