2013-04-26 1 views
0

Я использую Symfony2 с doctrine2, и мне нужно спроектировать отношение таблицы с yml-файлом. Столами являются: пользователи, учетные записи и роли, в которых пользователи могут быть членами многих учетных записей и имеют другую роль.Symfony2 + doctrine2 таблица отношение дизайн

Без доктрины я бы создал таблицы и одну таблицу соединений с user_id, account_id и role_id.

С учением У меня есть это сейчас, и я ищу подсказку, как добавить туда еще одно отношение к ролям в таблице.

User: 
    type: entity 
    manyToMany: 
     accounts: 
      targetEntity: Accounts 
      joinTable: 
      name: UserAccount 
      joinColumns: 
       user_id: 
       referencedColumnName: id 
      inverseJoinColumns: 
       account_id: 
       referencedColumnName: id 
+0

Значит, роль также зависит от учетной записи? –

+0

Возможный дубликат [Doctrine2: лучший способ обработки многих-ко-многим с дополнительными столбцами в справочной таблице] (http://stackoverflow.com/questions/3542243/doctrine2-best-way-to-handle-many-to- многие-с-экстра-колонок-в-справочном столе) – Florian

ответ

0

В таком случае единственным способом вы можете пойти, это создать еще один объект под названием, скажем UserAccountRole и подключиться к нему с OneToMany.

User -> (OneToMany) -> UserAccountRole -> (ManyToOne) -> User 
Account -> (OneToMany) -> UserAccountRole -> (ManyToOne) -> Account 
Role -> (OneToMany) -> UserAccountRole -> (ManyToOne) -> Role