Theo tài liệu của Doctrine , có 3 cách để mở rộng một lớp:
- Lớp cha được ánh xạ :lớp cha không một thực thể.
- Kế thừa một bảng :một bảng lớn cho tất cả dữ liệu (bao gồm cả các trường bổ sung).
- Kế thừa bảng lớp :một bảng chính, cùng với một bảng phụ cho mỗi thực thể có các trường phụ.
Bạn muốn kế thừa bảng đơn hoặc kế thừa bảng lớp.
Lớp cha được ánh xạ sẽ không hoạt động vì bạn muốn lớp cha Post
trở thành một thực thể độc lập. Trong trường hợp đó, Post
bạn không nên định nghĩa nó là abstract
.
Trừ khi bạn có một lượng lớn các trường bổ sung, bạn có thể nên sử dụng single table inheritance
.