Podle dokumentace Doctrine , existují 3 způsoby, jak rozšířit třídu:
- Mapovaná supertřída :nadřazená třída není entita.
- Dědičnost podle jedné tabulky :jedna velká tabulka pro všechna data (včetně doplňkových polí).
- Dědičnost tabulky třídy :jedna hlavní tabulka plus další tabulka pro každou entitu se zvláštními poli.
Buď chcete dědičnost jedné tabulky nebo dědičnost tabulky třídy.
Namapovaná nadtřída nebude fungovat, protože chcete, aby nadřazená třída byla Post
být samostatnou entitou. V takovém případě Post
třídu, neměli byste ji definovat jako abstract
.
Pokud nemáte velké množství dalších polí, měli byste pravděpodobně použít single table inheritance
.