Как исправить каскад не работает в наследство - PullRequest
0 голосов
/ 14 января 2019

Метод persist не работает в классе наследования, хотя я установил каскад свойств в аннотации (cascade = "all").

/**
 * @ORM\Entity
 * @ORM\InheritanceType("JOINED")
 * @ORM\DiscriminatorColumn(name="tipo", type="string")
 * @ORM\DiscriminatorMap({"menu" = "Menu", "enquete" = "Enquete"})
 */
 abstract class Widget{

   /**
    * @ORM\Id
    */
    protected $id;

 }
 /**
  * @ORM\Entity
  */
 class Enquete extends Widget{   

    /**
     * @var ArrayCollection
     * @ORM\OneToMany(targetEntity="Admin\Model\Alternativa", mappedBy="enquete", cascade="all")
     */
     protected $alternativas;
 }

 /**
  * @ORM\Entity
  */
 class Alternativa{       
    /**
     * @ORM\ManyToOne(targetEntity="Admin\Model\Enquete", inversedBy="alternativas")
     * @ORM\joinColumn(name="Enquete_id", referencedColumnName="id")
     */
     protected $enquete;

}

Я использую persist в каскаде, но не работает: $enquete->addAlternativa(New Alternativa()); $entityManager->persist($enquete); $entityManager->flush();

Результатом является следующая ошибка: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'Enquete_id' cannot be null

...