Volgens Doctrine's documentatie , zijn er 3 manieren om een klas uit te breiden:
- In kaart gebrachte superklasse :de bovenliggende klasse is niet een entiteit.
- Overerving van één tafel :één grote tabel voor alle gegevens (inclusief de extra velden).
- Overerving klassentabel :één hoofdtabel, plus een extra tabel voor elke entiteit met extra velden.
U wilt ofwel de overerving van één tabel of de overerving van de klassentabel.
De toegewezen superklasse werkt niet omdat je de bovenliggende klasse wilt Post
een op zichzelf staande entiteit te zijn. In dat geval de Post
class moet je het niet definiëren als abstract
.
Tenzij je een groot aantal extra velden hebt, zou je waarschijnlijk single table inheritance
moeten gebruiken .