Учения Света - круговые ссылки - PullRequest
5 голосов
/ 23 сентября 2010

Есть ли способ загрузить приборы с круговой привязкой? В качестве примера у меня есть следующее приспособление:

BusinessEntityTeam:
  Nicole_Team:
    name: Nicole's Team
    Manager: [Nicole]
    Business: [ACMEWidgets]

sfGuardUser
  Nicole:
    first_name:     Nicole
    last_name:      Jones
    email_address:  nicole@example.com
    username:       nicole
    password:       nicole
    Groups:         [Group_abc]
    Team:           [Nicole_Team]

Как видите, Nicole_Team ссылается на Nicole ... но Nicole также ссылается на Nicole_Team.

Когда диспетчер не был обязательным столбцом, все было в порядке (прибор был загружен, но диспетчер был НЕДЕЙСТВИТЕЛЕН), но теперь требуется, чтобы он не загружался.

Единственный обходной путь, который я вижу, - это поместить отношение Team в свой собственный объект (например, «Профиль»), чтобы отношения больше не были круговыми.

Есть ли другой подход? Каждый пользователь должен быть в команде, но только несколько пользователей являются менеджерами команды. Я вполне открыт к тому факту, что моя модель данных может быть плохо спроектирована и может быть улучшена.

1 Ответ

1 голос
/ 24 сентября 2010

Как насчет этого:

BusinessEntityTeam:
  Nicole_Team:
    name: Nicole's Team
    Business: [ACMEWidgets]

sfGuardUser
  Nicole:
    first_name:     Nicole
    last_name:      Jones
    email_address:  nicole@example.com
    username:       nicole
    password:       nicole
    Groups:         [Group_abc]
    Team:           [Nicole_Team]
    ManagerFor:     [Nicole_Team]

Чтобы избежать циклических ссылок, вы должны поместить отношения в одну модель.

...