has_many и принадлежит_ к ассоциации с таблицей соединений? - PullRequest
0 голосов
/ 19 февраля 2011

У меня есть таблица лиц и таблица уведомлений.

Есть много людей и 6 уведомлений, которые каждый может получить.

Я думаю о том, чтобы иметь таблицу уведомлений с просто: 'id' 'notifitcation_name'

Но каждый человек может изменить определенные характеристики для каждого уведомления.

тогда у меня будет таблица соединения с

'person_id' 'messages_id' 'messages_text'

Это кажется подходящим?

Тогда Person has_many Уведомления и Уведомления принадлежат_ Person?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2011

Я думаю, что вы на правильном пути, с небольшими изменениями.

Я бы создал 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

Надеюсь, это поможет.

0 голосов
/ 19 февраля 2011

То, что вы ищете - это has_and_belongs_to_many ассоциация.

РЕДАКТИРОВАТЬ :
Это, вероятно, не то, что вы хотите.Я неправильно понял вас, когда вы сказали "присоединиться к столу".У вас должны быть таблица «Персоны» и таблица «Уведомления», а «Человек» имеет много уведомлений, и, как вы сказали, «Уведомление» принадлежит «Персоне».Но в таблице уведомлений просто сохраните то, что вы сказали поместить в таблицу соединений: notification_id, person_id, notification_text и любые другие атрибуты, которые должны иметь уведомления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...