Я пишу процесс отправки уведомления по электронной почте. В настоящее время я пишу уведомления по электронной почте в таблице со следующими столбцами:
- email_notification_id => PK
- tification_id => уведомление
- sender_id => Объект пользователя или группы
- receient_id => Объект пользователя или группы
отправитель и получатель могут быть типа Пользователь или Группа. Очевидно, что в настоящий момент я не могу иметь FK для отправителя или получателя.
1) Первый вариант - использовать Any в отображении и добавить два дополнительных столбца для типа.
2) Второй вариант - создать 4 класса для каждой комбинации и отобразить их с помощью дискриминатора:
class1 => отправитель типа Group, получатель типа Group
class2 => отправитель типа Group, получатель типа User
class3 => отправитель типа Пользователь, получатель типа Группа
class4 => отправитель типа Пользователь, получатель типа Пользователь
3) Другие варианты?
Что вы думаете об этом?
С наилучшими пожеланиями