[英]Symfony 2.8: Form collection and one-to-many relationship not persisting correctly
[英]Symfony 3 form and one-to-many
这似乎是一项容易的任务,但是我找不到最佳的解决方案。 我在教练和团队之间存在一对多的双向关系(一个教练可以有很多团队)。 当我添加/编辑教练时,我想分配他的团队。 我没有错误,但是什么也没发生。 我的猜测是,这与关系,拥有方面或类似方面有关。 还有另一种关系:球员-球队,一切都很好,但是在这种情况下,我有一个球员表格,我将球队分配给一个球员。
因此,如果我从“许多”的角度提交表单,则可以使用,但是当我尝试从“一个”的角度提交表单时,我在db中仍然为null,并且未建立关系。
Trainer.php:
/**
* @ORM\OneToMany(targetEntity="Team", mappedBy="trainer")
*/
private $teams;
...
$this->teams = new ArrayCollection();
Team.php:
/**
* @ORM\ManyToOne(targetEntity="Trainer", inversedBy="teams")
* @ORM\JoinColumn(name="trainer_id", referencedColumnName="id")
*/
private $trainer;
TrainerType.php:
->add('teams', EntityType::class, array(
'class' => 'AppBundle:Team',
'choice_label' => 'name',
'multiple' => true,
'expanded' => true,
'label' => 'Teams',
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('t')
->where('t.isMyTeam = 1')
->orderBy('t.name', 'ASC');
},
));
有没有办法使它与一对多关系一起工作? 还是我应该切换到多对多?
实际上,它与拥有侧和反向侧相关。 如果将关系添加为拥有方,它将起作用,但反之则不行。 阅读Doctrine文档中的这个以及关于拥有方的这个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.