我有一个Persons表和一个Notifications表。
每个人都可以接收很多人和6个通知。
我正在考虑使用Notifications表: 'ID' 'notifitcation_name'
但是每个人都可以改变每个通知的某些特征。
然后我会有一个
的联接表'PERSON_ID' 'notification_id' 'notification_text'
这看起来合适吗?
然后Person has_many Notifications and Notification belongs_to Person?
答案 0 :(得分:0)
您正在寻找的是has_and_belongs_to_many
协会。
修改强>:
这实际上可能不是你想要的。当你说“加入桌子”时我误解了你。您应该有一个Persons表和Notifications表,而Person有许多Notifications,Notification属于Person,如您所说。但是在通知表中,只需存储您在联接表中添加的内容:notification_id
,person_id
,notification_text
以及通知需要具有的任何其他属性。
答案 1 :(得分:0)
我认为你走在正确的轨道上,只做了一些小改动。
我会创建一个NotificationType
,其中包含一个人可以收到的6个可能的通知。然后,您有Notification
将NotificationType
与Person
与实际消息相关联。
所以你的表看起来像
Person: id, name, ...
NotificationType: id, name, severity, ...
Notification: id, person_id, notification_type_id, message
你的模型将是
class NotificationType
has_many :notifications
end
class Person
has_many :notifications
end
class Notification
belongs_to :person
belongs_to :notification_type
end
希望这会有所帮助。