Laravel версия 7.0, MySQL версия 5.8
Я собираюсь разработать базу данных для системы livechat. Вот соответствующие модели и таблицы.
User
модель - users
таблица (id, name, email, address..
)
Guest
модель - guests
таблица (id, name, ipAddress
)
Team
модель - teams
таблица (id, name, image
)
team_has_users
(id, team_id, user_id
)
Пользователь должен иметь возможность отправлять сообщения на User
, Team
, Guest
.
Вот возможные случаи, о которых я мог подумать.
messsages
table (id, content, from_id, to_id, from_model, to_model
) // Я думаю, что этого недостаточно, чтобы сохранить read_status для каждого пользователя.
messages
таблица (id, content
)
message_from_to
таблица (id, message_id, from_id, to_id, read_status
)
from_id
будет id
либо users
таблицы, либо guests
таблицы.
Но статус to_id
и read
для меня немного сложен.
Кто-нибудь может мне помочь?
Спасибо