Съгласно документацията на Doctrine , има 3 начина за разширяване на клас:
- Картографиран суперклас :родителският клас е не субект.
- Наследяване на единична таблица :една голяма таблица за всички данни (включително допълнителните полета).
- Наследяване на таблица на клас :една основна таблица плюс допълнителна таблица за всеки обект с допълнителни полета.
Искате или наследяване на единична таблица, или наследяване на таблицата на класа.
Съпоставеният суперклас няма да работи, защото искате родителския клас Post
да бъде самостоятелен субект. В този случай Post
клас не трябва да го дефинирате като abstract
.
Освен ако нямате голямо количество допълнителни полета, вероятно трябва да използвате single table inheritance
.