Что делать, если Doctrine Entity имеют одинаковую структуру?

Начал осваивать Symfony и за основу взял один свой старенький проект, на котором учился класть графы в БД, конкретнее -- MySQL на MyISAM. Перевёл таблички в InnoDB, расставил Foreign Key's -- дабы переложить контроль за целостностью на базу и таким макаром импортировать в Doctrine контроль за целостностью вместе со схемой. Импортирую схему doctrine:mapping:import и... Doctrine ругается "cannot redeclare" на один из столбцов с внешним ключом. Пробую тот же с другого конца, через доктриновские аннотации в Entity. doctrine:generate:entity -- и снова ругань, "cannot redeclare", когда я пытаюсь заджойниться на сущность Location, общую для сущностей Bridge и Building.
Соответственно, вопросы:
1) правильно ли я понимаю, что сущность Location, представленную в базе одной таблицей, придётся разбить на две сущности (и таблицы): LocationOfBridge и LocationOfBuilding?
2) неужели придётся писать два одинаковых контроллера на сущности с одинаковой структурой?
  • Вопрос задан
  • 240 просмотров
Пригласить эксперта
Ответы на вопрос 1
Austin_Powers
@Austin_Powers
Web developer (Symfony, Go, Vue.js)
Создайте базовую сущность. Унаследуйте свои сущности от базовой и используйте Single Table Inheritance для маппинга сущностей в единую таблицу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы