Triple Doctrine Mapping - PullRequest
       47

Triple Doctrine Mapping

0 голосов
/ 20 апреля 2020

Итак, у меня есть сущность «Пользовательский объект» и «Роли» и объект «Сервер» (представьте дискорд-сервер или свободное пространство), и у этого пользователя есть разные наборы ролей для каждого сервера, частью которого он является.

Пользователь имеет Роль Uid имеет Rid Сервер имеет Sid

есть tblUser, tblRole & tblServer

Пользовательский объект в json будет выглядеть следующим образом

{
  firstName: 'John',
  lastName: 'Smith',
  phone: '500-500',
  servers: [
    {
      serverName: 'Best Discord Server EVER',
      serverId: 1,
      roles: [ADMIN, MODERATOR, USER, FREQUENT_WRITER, ACTIVE]
    },
    {
      serverName: 'Python Discord',
      serverId: 2,
      roles: [USER, FREQUENT_WRITER, ACTIVE]
    },
    {
      serverName: 'Netflix Discord',
      serverId: 3,
      roles: [USER, INACTIVE]
    }
  ]
}

Итак, для сопоставления всего этого у меня есть несколько таблиц соединения

tbljoinUserServer, который присоединяет пользователя ко всем серверам, в которых он находится. Он имеет 2 столбца - Uid, Sid

Основное использование этой таблицы - получение массива серверов с информацией об этих серверах независимо от роли в данный момент.

Для Roles у меня есть еще одна таблица соединения с тройным отображением

tbljoinUserServerRole с 3 столбцами - Sid, Uid, Rid

Используется для генерации этого вложенного массива объектов.

Вопрос в том, как с этими 3 сущностями как я могу использовать Doctrine Mapping для их отображения?

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