Symfony - EasyAdmin - AssociationField 忽略添加和删除功能

ElG*_*_76 5 php symfony doctrine-orm easyadmin easyadmin3

我使用 EasyAdmin 的最新版本,当我提交表单时,我的add和函数将被忽略:remove

\n

Ambiance实体:

\n
/**\n * @ORM\\OneToMany(targetEntity="Vehicule", mappedBy="ambiance")\n */\nprotected Collection $vehicules;\n\npublic function __construct()\n{\n    $this->vehicules = new ArrayCollection();\n}\n\npublic function addVehicule(Vehicule $vehicule): self\n{\n    if (!$this->vehicules->contains($vehicule)) {\n        $this->vehicules[] = $vehicule;\n        $vehicule->setAmbiance($this);\n    }\n\n    return $this;\n}\n\npublic function removeVehicule(Vehicule $vehicule): void\n{\n    if (!$this->vehicules->contains($vehicule)) {\n        return;\n    }\n\n    $this->vehicules->removeElement($vehicule);\n}\n\npublic function getVehicules()\n{\n    return $this->vehicules;\n}\n\npublic function setVehicules($vehicules): void\n{\n    $this->vehicules = $vehicules;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

然而我的学说映射是有效的..

\n

我的 EasyAdmin 表单位于AmbianceCrudController.php

\n
'vehicules' => AssociationField::new('vehicules', 'V\xc3\xa9hicules'),\n
Run Code Online (Sandbox Code Playgroud)\n

它会生成一个multiple select2,但是当我添加车辆并提交表单时,不会插入任何数据。

\n

小智 0

我正在努力解决同样的问题,但我发现拼图中的一些部分可能会有所帮助:

  • 根据我的经验,似乎关联的拥有方(在数据库中具有外键的一方)会产生保留更改的编辑表单。
  • 对方完全忽略了这一变化
  • setter 和 getter,以及 addABC 和 removeABC 方法似乎确实被跳过,原因我也不清楚。

我希望你能找到一个解决方案,暗示关系中的crudcontroller另一方,我认为在你的情况下是车辆。