【发布时间】:2016-09-23 08:05:51
【问题描述】:
当我使用此代码时,出现此错误“Integrity constraint violation: 1048 Column 'ecriture_id' cannot be null”:
$produit = new Produit();
$ecriture = new Ecriture();
$produit->setEcriture($ecriture);
// $this->em->persist($ecriture);
$this->em->persist($produit);
如果我取消注释“ $this->em->persist($ecriture) ”,它是正确的。
我不明白,因为我的“产品”实体有级联持续存在:
实体“产品”:
class Produit
{
/**
* @ORM\OneToOne(targetEntity="LogicielBundle\Entity\Ecriture", inversedBy="gestionLocativeProduit", cascade={"persist"})
* @ORM\JoinColumn(nullable=false)
*/
private $ecriture;
public function setEcriture(\LogicielBundle\Entity\Ecriture $ecriture)
{
$ecriture->setGestionLocativeProduit($this);
$this->ecriture = $ecriture;
// Similar problem if I add "$ecriture->setGestionLocativeProduit($this);" right here
return $this;
}
public function getEcriture()
{
return $this->ecriture;
}
实体“Ecriture”:
class Ecriture
{
/**
* @ORM\OneToOne(targetEntity="LogicielBundle\Entity\GestionLocative\Produit", mappedBy="ecriture")
* @ORM\JoinColumn(nullable=true)
*/
private $gestionLocativeProduit;
public function setGestionLocativeProduit(\LogicielBundle\Entity\GestionLocative\Produit $gestionLocativeProduit)
{
$this->gestionLocativeProduit = $gestionLocativeProduit;
return $this;
}
public function getGestionLocativeProduit()
{
return $this->gestionLocativeProduit;
}
【问题讨论】:
标签: doctrine-orm doctrine symfony