Нет ли в Doctrine2 псевдонимов классов? - PullRequest
0 голосов
/ 30 января 2012

Примерно так:

user:
  targetEntity: User
  inversedBy: posts
  joinColumn:
    name: user_id
    referencedColumnName: id
deleter:
  targetEntity: User
  joinColumn:
    name: deleter_id
    referencedColumnName: id

Выше у нас есть два отношения к классу User, мне было интересно, можем ли мы сделать что-то вроде targetEntity: Deleter as User

1 Ответ

1 голос
/ 30 января 2012

То есть вы хотите, чтобы Deleters были пользователями? В этом случае вы можете выбрать Single Table Inheritance . Вам просто нужно добавить столбец дискриминатора.

Другим распространенным подходом к моделированию ролей, которые пользователь может иметь в приложении, является наличие таблицы user_type или аналогичной. Затем определите список «многие ко многим», какие роли выполняет каждый пользователь. Часто они связаны с привилегиями, и вы должны установить иерархические отношения между этими ролями, но это грубое обобщение.

...