Общие данные будут храниться в таблице родителя
То есть вы добавляете в БД сущность:
- часть (уникальные для нее) данные попадут в ее таблицу, например поле
role
сущности Admin
(наследник User
) запишется в таблицу users_admin
из AdminBundle), сюда же id запишется
- а общие для
User
попадут в таблицу users
+ в эту же таблицу в поле type запишется алиас сущности и в них айдишники будут одинаковыми
Для других сущностей все тоже самое... то есть в users обище поля хранятся с общим id и type и Доктрина сама замаппит все
Задача:
Как теперь добавлять запись в БД ? Ведь классы расширения не связаны между собой, а только с родителем.
То есть Доктрина сделает все сама -- вам нужно только DiscriminatorColumn указать (в ней и мапятся сущности), если сущности из разных бандлов называются одинаково -- стоит запилить DiscriminatorMap