Symfony - model wysłanej wiadomości

0

Dobry,
zacząłem przygodę z Symfony. Piszę sobie systemik, którego częścią ma być umożliwienie wysłania przez usera wiadomości wg szablonu do innych userów. Zastanawia mnie, jak poprawnie zrealizować model wysłanej wiadomości?
Nie będzie to zwykła relacja wiele do wielu, bo do wysłanej wiadomości chcę dopisać jakieś dodatkowe bzdety typu data wysłania itp.
I teraz pytanie,
czy to powinno być zrealizowane tak, że tworzę model w stylu SentMessace, który będzie przechowywał wiadomość, użytkownika itp itd i przy procesie wysyłania to uzupełnić czy lepiej jakoś inaczej to zrealizować?
Sama wiadomość to raczej tylko szablon więc chyba nie ma sensu podpinania do niej tablicy wysłanych?

0

Chcesz mieć szablony wiadomości na zasadzie Cześć, {imie}! Cośtam innego to {costam}. (tj. ze zmiennymi) czy raczej tak, aby użytkownicy mogli modyfikować ręcznie samą treść (nie tylko zmienne)?

0

Każdy user może stworzyć sobie jakiś szablon zawierający zmienne, które przy wysyłaniu wiadomości będą odpowiednio konwertowane.

1

No to sugerowałbym taki układ:

message_templates:
  id: int
  template: string

messages:
  id: int
  sender_id: int
  recipient_id: int
  template_id: int

message_variables:
  id: int
  message_id: int
  name: string
  value: string

Czyli osobno trzymane szablony, wiadomości oraz wypełnienia zmiennych wiadomości.

Inną opcją, prostszą w implementacji, mogłoby być przykładowo:

message_templates:
  id: int
  template: string

messages:
  id: int
  sender_id: int
  recipient_id: int
  template_id: int
  template_variables: json

W tym wypadku tracimy relację message_variables na rzecz pola messages.template_variables, co jest prostsze w implementacji, ponieważ nie wymaga tworzenia dodatkowego modelu oraz tabeli.

0

Czyli jest mniej więcej tak jak sobie na samym początku kombinowałem. Dzięki! :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1