De acordo com a documentação do Doctrine , existem 3 maneiras de estender uma classe:
- Superclasse mapeada :a classe pai não uma entidade.
- Herança de tabela única :uma grande tabela para todos os dados (incluindo os campos extras).
- Herança de tabela de classe :uma tabela principal, mais uma tabela extra para cada entidade com campos extras.
Você quer a herança de tabela única ou a herança de tabela de classe.
A superclasse mapeada não funcionará porque você deseja que a classe pai
Post
ser uma entidade independente. Nesse caso, o Post
class você não deve defini-la como abstract
. A menos que você tenha uma grande quantidade de campos extras, você provavelmente deve usar
single table inheritance
.