У меня следующие отношения:
Presupuesto: oneToMany with Revision Revision: oneToMany with Capitulo Capitulo: oneToMany with Requisito Requisito: oneToMany with Articulo
У меня есть форма, встроенная в эти сущности и набор 'addTagForm'. Проблема заключается в том, что при Capitulo
формы все правильно связано, кроме как с Capitulo
с Capitulo
, которая ассоциируется как null.
Ниже приведена самая важная информация об этих двух объектах:
Revision.php
/** * @ORM\OneToMany(targetEntity="CeiferIT\ComercialBundle\Entity\Capitulo", mappedBy="revision", cascade={"persist"}, orphanRemoval=true) */ protected $capitulos; /** * @param \CeiferIT\ComercialBundle\Entity\Capitulo $capitulo * * @return Revision */ public function addCapitulo(\CeiferIT\ComercialBundle\Entity\Capitulo $capitulo) { $capitulo->setRevision($this); $this->capitulos[] = $capitulo; return $this; } /** * @param \CeiferIT\ComercialBundle\Entity\Capitulo $capitulo */ public function removeCapitulo(\CeiferIT\ComercialBundle\Entity\Capitulo $capitulo) { $this->capitulos->removeElement($capitulo); } /** * @return \Doctrine\Common\Collections\Collection */ public function getCapitulos() { return $this->capitulos; }
Capitulo.php
/** * @ORM\ManyToOne(targetEntity="CeiferIT\ComercialBundle\Entity\Revision", inversedBy="capitulos", cascade={"persist"}) * @ORM\JoinColumn(name="revision_id", referencedColumnName="id") */ private $revision; /** * @param \CeiferIT\ComercialBundle\Entity\Revision $revision * * @return Capitulo */ public function setRevision(\CeiferIT\ComercialBundle\Entity\Revision $revision = null) { $this->revision = $revision; return $this; } /** * @return \CeiferIT\ComercialBundle\Entity\Revision */ public function getRevision() { return $this->revision; }
nuevo.html.twig
{{ form_start(formulario) }} //some code.. {% include 'ComercialBundle:Presupuesto:listaRevisiones.html.twig' %} //some code.. {{ form_end(formulario) }}
listaRevisiones.html.twig
{% macro information_prototype(revision) %} {% if form_errors(revision.total) %} {{ form_widget(revision.total, {'attr': {'class': 'form-control totalrevision error'}}) }} {% else %} {{ form_widget(revision.total, {'attr': {'class': 'form-control totalrevision'}}) }} {% endif %} {% include 'ComercialBundle:Presupuesto:listacapitulos.html.twig' %} {% endmacro %} <div class="ibox product-box active primerarevision" data-prototype="{{ _self.information_prototype(formulario.revisiones.vars.prototype)|e}}"> {% for revision in formulario.revisiones %} {{ _self.information_prototype(revision)}} {% endfor %} </div>
Я не могу понять, почему revision_id
имеет значение NULL. Есть идеи? благодаря