Symfony два поля идентификатора из одной таблицы идентификаторов

Я использую Symfony для проекта, но застрял в одной точке построения схемы. В схеме у меня есть один пользователь таблицы, который может быть создан им самим или администратором, а идентификаторы пользователей хранятся в sfGuardUser... как вы можете установить связь между ними в schema.yml?

У меня есть эти поля:

tableX

sf_guard_user_id: {type: integer}
sf_guard_user_id_cs: {type: integer}

Первый идентификатор - это тот, который он получает при создании, а второй - идентификатор администратора, если он был создан одним из них. В общем, я собираюсь использовать поле id из sfGuardUser дважды в tableX, но я не могу сделать эти два отношения в schema.yml. Кто-нибудь знает, как сделать отношения?

1 ответ

Решение

Это просто. Например:

CoolTable:
  actAs:
     Timestampable: ~
  columns:
    sf_guard_user_id:    { type: integer() }
    sf_guard_user_id_cs: { type: integer() }
  relations:
    User:    { local: sf_guard_user_id, foreign: id, class: sfGuardUser }
    UserCs:  { local: sf_guard_user_id_cs, foreign: id, class: sfGuardUser }

Главное, что вы указываете класс отношений.

Другие вопросы по тегам