Zgodnie z dokumentacją Doctrine , istnieją 3 sposoby na rozszerzenie klasy:
- Mapowana superklasa :klasa nadrzędna nie podmiot.
- Dziedziczenie w jednej tabeli :jedna duża tabela na wszystkie dane (w tym dodatkowe pola).
- Dziedziczenie tabeli klas :jedna główna tabela plus dodatkowa tabela dla każdej jednostki z dodatkowymi polami.
Potrzebujesz dziedziczenia pojedynczej tabeli lub dziedziczenia tabeli klas.
Zmapowana nadklasa nie będzie działać, ponieważ chcesz, aby klasa nadrzędna Post
być samodzielnym podmiotem. W takim przypadku Post
klasy, nie należy jej definiować jako abstract
.
Jeśli nie masz dużej ilości dodatkowych pól, prawdopodobnie powinieneś użyć single table inheritance
.