如何创建抽象类,并使用Doctrine2扩展它?

时间:2015-07-09 12:35:17

标签: php symfony doctrine-orm doctrine

我想创建一个名为Content的抽象类。有两种实现:TextContentVideoContent

abstract class Content {

    /** @Id @Column(type="integer") @GeneratedValue **/
    private $id;

    /** @Column(type="string") **/
    private $title;

    /** getters and setters... **/

}

实施:

class VideoContent extends Content {

    /** @Column(type="string") **/
    private $source;

    /** @Column(type="string") **/
    private $format;

    /** getters and setters... **/


}
class TextContent extends Content {

    /** @Column(type="string") **/
    private $text_data;

    /** getters and setters... **/


}

内容必须是抽象的,因为内容不能只是内容。这是视频或文字。 Doctrine2怎么可能?这将如何在MySQL数据库中表示?

1 个答案:

答案 0 :(得分:1)

也许这可以帮到你

http://doctrine-orm.readthedocs.org/en/latest/reference/inheritance-mapping.html#single-table-inheritance

您必须创建一个带有鉴别器列的表。