Я нахожусь в процессе перехода на доктрину ОРМ. В нашем приложении у нас есть 2 роли, которые может выполнять пользователь: клиент и сотрудник.
Ранее у нас была таблица пользователя, затем таблица клиента и таблица сотрудника.
Пользователь может быть клиентом или сотрудником. Пользователь может иметь несколько экземпляров сотрудника. (Они работают одновременно в нескольких компаниях.) Однако этот пользователь также может быть клиентом. Поэтому у них должна быть запись в таблице клиентов.
Ранее у нас было такое отношение:
users
- id
company_has_employee
- company_id
- employee_id
employees
- user_id
- other attributes
customers
- user_id
- other attributes
Итак, как вы можете видеть, в пользовательской таблице есть только одна запись (то есть у пользователя есть только один набор учетных данных для всех своих ролей).
Как я могу перевести эту функциональность в доктрину?
Я экспериментировал с Наследование таблицы классов в Доктрине, но я чувствую, что это сложнее, чем это.
Задача ещё не решена.
Других решений пока нет …