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