Symfony 条令/符号-继承-关系

Symfony 条令/符号-继承-关系,symfony,inheritance,doctrine-orm,orm,entity-relationship,Symfony,Inheritance,Doctrine Orm,Orm,Entity Relationship,我有两个实体:个人和丈夫 丈夫延伸个人 class Individu { /** * @var int * * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @var string * * @ORM\Column(name="nom", type="string", length=30) */ priv

我有两个实体:个人和丈夫 丈夫延伸个人

class Individu
{
/**
 * @var int
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 * @var string
 *
 * @ORM\Column(name="nom", type="string", length=30)
 */
private $nom;

/**
 * @ORM\OneToOne(targetEntity="AppBundle\Entity\Individu", cascade={"persist"})
 * @ORM\JoinColumn(name="pere_id", referencedColumnName="id", onDelete="CASCADE")
 */
private $pere;

public function __construct($nom, $prenoms, $sexe)
{
    $this->nom = $nom;
    $this->prenoms= $prenoms;
    $this->sexe = $sexe;
    $this->actes = new \Doctrine\Common\Collections\ArrayCollection();
}
还有班上的丈夫

class Epoux_se extends Individu
{
/**
 * @var int
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

public function __construct($nom, $prenoms, $sexe, $lieuOrigine, $dateNaissance, $age)
{
    parent::__construct($nom, $prenoms, $sexe);
    $this->lieuOrigine = $lieuOrigine;
    $this->dateNaissance = $dateNaissance;
    $this->age = $age;
}
当我导入DataFixture时

新埃普乌苏·肖雷尔,[让·克里斯托夫,马克],M,圣马洛, 05/08/1722, 22;

我有一个关于丈夫的错误

SQLSTATE[42S22]:未找到列:中的1054未知列“pere_id” “字段列表”

执行“插入epoux se nom、prenoms、sexe、PROFESSE、pere_id、MERALE_id、LIUE”时发生异常 Origine,dateNaissance,年龄值?,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,带参数[Aurel,a:2:{i:0;s:15:\ Jean Christ 奥菲i:1;s:4:\马克\;},M,空,空,空,圣马洛,1722年8月5日,22]:

固定装置:

$marie = new Individu("Duhamel", ["Ophelia", "Carmène"], "F"); 
$manager->persist($marie); 
$epoux_se = new Epoux_se("Aurel", ["Jean-Christophe", "Marc"], "M", "Saint-Malo", "05/08/1722", 22); 
$manager->persist($epoux_se); 
$manager->flush(); 

怎么办?谢谢大家!

将父类属性的可见性更改为受保护。然后更新数据库方案。

我找到了解决方案!有必要在单个实体上方添加以下注释

@ORM\InheritanceTypeJOINED
你能展示一下你是如何创建固定装置的吗?$marie=新的个人用品,[Ophelia,Carmène],F$经理->坚持$marie$epoux_se=新epoux_seAurel[Jean Christophe,Marc],M,圣马洛,1722年5月8日$管理器->持久化$epoux\u se$经理->同花顺;不工作,我已经删除了我的数据库并进行了更新,然后导入了DataFixture,但我遇到了同样的问题。我尝试将公共和受保护的每个属性转化为实体、个人和丈夫,但没有意识到导致问题的字段是关系字段。我还定义了一些从基本实体扩展而来的实体,我必须覆盖子类中的关系属性。对于标准的普通属性,继承是有效的,但对于关系,它似乎不起作用。
/**
* Individu
*
* @ORM\InheritanceType("JOINED")
*
* @ORM\Entity(repositoryClass="AppBundle\Repository\IndividuRepository")
*/
class Individu