Symfony by_reference не работает

Я пытаюсь создать простую ассоциацию OneToMany с двумя объектами:

class Professional extends User { /** * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; public function __construct() { $this->followers = new \Doctrine\Common\Collections\ArrayCollection(); $this->following = new \Doctrine\Common\Collections\ArrayCollection(); $this->degrees = new \Doctrine\Common\Collections\ArrayCollection(); $this->experiences = new \Doctrine\Common\Collections\ArrayCollection(); } ... /** * @ORM\OneToMany(targetEntity="ProfessionalDegree", mappedBy="professional", cascade={"persist"}) */ private $degrees; ... ** * Add degrees * * @param \AppBundle\Entity\ProfessionalDegrees $degrees * @return Professional */ public function addDegree(\AppBundle\Entity\ProfessionalDegree $degrees) { $this->degrees[] = $degrees; return $this; } /** * Remove degrees * * @param \AppBundle\Entity\ProfessionalDegrees $degrees */ public function removeDegree(\AppBundle\Entity\ProfessionalDegree $degrees) { $this->degrees->removeElement($degrees); } /** * Get degrees * * @return \Doctrine\Common\Collections\Collection */ public function getDegrees() { return $this->degrees; } 

А также

 /** * @ORM\Entity * @ORM\Table(name="professional_degree") */ class ProfessionalDegree { /** * @ORM\Id * @ORM\Column(type="integer") * @ORM\GeneratedValue(strategy="AUTO") */ private $id; public function __construct() { } ... /** * @ORM\ManyToOne(targetEntity="Professional", inversedBy="degrees") * @ORM\JoinColumn(name="professional_id", referencedColumnName="id") */ private $professional; ... /** * Set professional * * @param \AppBundle\Entity\Professional $professional * @return ProfessionalDegree */ public function setProfessional(\AppBundle\Entity\Professional $professional = null) { $this->professional = $professional; return $this; } /** * Get professional * * @return \AppBundle\Entity\Professional */ public function getProfessional() { return $this->professional; } 

Когда я пытаюсь создать форму, используя Type:

 class ProfessionalType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add($builder->create('degrees', CollectionType::class, array( 'entry_type' => DegreeType::class, 'allow_add' => true, 'allow_delete' => true, 'by_reference' => false, ))); } public function getParent() { return 'FOS\UserBundle\Form\Type\RegistrationFormType'; } public function getBlockPrefix() { return 'professional_registration_form'; } public function getName() { return $this->getBlockPrefix(); } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( 'validation_groups' => array('ProfessionalRegistration'), )); } } 

С этими DegreeType:

 class DegreeType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('title') ->add('place') ->add('date_in', DateType::class, array( 'widget' => 'single_text' )) ->add('date_out', DateType::class, array( 'widget' => 'single_text' )); } public function getBlockPrefix() { return 'degree_registration_form'; } public function getName() { return $this->getBlockPrefix(); } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( 'data_class' => ProfessionalDegree::class, )); } } 

Когда я обрабатываю форму на контроллере, новая степень добавляется в базу данных, но с профессионалом в NULL. Я читал в документе Symfony ( https://symfony.com/doc/current/form/form_collections.html ), что это может быть проблема «by_reference»

Есть идеи? Спасибо.

Related of "Symfony by_reference не работает"