1
的我定義的映射主義映射2級繼承
/**
* Identite entity
* @ORM\Entity
* @ORM\Table(name="identite")
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="discr", type="string")
* @ORM\DiscriminatorMap({"identite" = "Identite","candidat" = "Candidat","consultant"="Consultant","staff"="Staff" })
*/
class Identite extends ObjetEtat{
/**
* @var integer
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
*
* @ORM\Column(name="nomidentite", type="string", length=200, nullable=true)
*/
private $nomidentite;}
和我有超類的映射:
/**
* Identite entity
* @ORM\Entity
* @ORM\Table(name="objetetat")
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="discrimin", type="string")
* @ORM\DiscriminatorMap({"objetetat" = "ObjetEtat","identite" = "Sigmatis\SigBundle\Entity\Identites\Identite" })
*/
class ObjetEtat {
//put your code here
/**
* @var integer
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id; }
這是我的層次結構的第三層次:
/**
* Candidat entity
* @ORM\Entity
* @ORM\Table(name="candidat")
*/
class Candidat extends Identite {
}
更新我的模式後:我沒有找到我的表Identite的字段「discr」。我想念什麼?
你在你的「objetetat」表中有「discrimin」列? –
是在那裏存在「歧視」一欄,當我插入一個對象(Candidat或Staff)時,歧視的價值取決於:Candidat或員工。但我需要的是:歧視將採取值「身份」,並在表Identite,我想有一個名爲discr的列,我將有:candidat,或工作人員 –
你有什麼想法嗎? –