我在多级继承方面遇到了一些麻烦
/**
* @ORM\Entity
* @ORM\Table(name="et_date")
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="type", type="string")
* @ORM\DiscriminatorMap({"Relative" = "DateRelative", "Absolue" = "DateAbsolue"})
*/
class Date {}
/**
* @ORM\Entity
* @ORM\Table(name="et_date_absolue")
*/
class DateAbsolue extends Date{}
/**
* @ORM\Entity
* @ORM\Table(name="et_date_relative")
* @ORM\InheritanceType("SINGLE_TABLE")
* @ORM\DiscriminatorColumn(name="type", type="string")
* @ORM\DiscriminatorMap({"Inscription" = "DateRelativeInscription", "Devoir" = "DateRelativeDevoir"})
*/
class DateRelative extends Date {}
/**
* @ORM\Entity
* @ORM\Table(name="et_date_relative_inscription")
*/
class DateRelativeInscription extends DateRelative{}
我的DateRelative实体的我的鉴别器列不存在......
答案 0 :(得分:1)
这是一个老问题,但我会回答,以防万一这会帮助其他人......
您不能将鉴别器列命名为“type”,因为“type”是保留的SQL关键字。
在尝试命名我的一个表“Like”时,我遇到了类似的问题,这也是一个保留的SQL关键字。
作为参考,这里是指向所有保留的SQL关键字列表的链接。