在我的 Symfony 4 项目中,我有一个ParametersAdmin实体,它包含与Entreprise实体的OneToOne关系。 /** * @ORM\OneToOne(targetEntity="App\Entity\Entreprise", mappedBy="parametresAdmin", cascade={"persist", "remove"}) */ private $entreprise;Entreprise实体有一个nom字段在我基于ParametresAdmin实体的表单中,我想包含entreprise.nom属性。所以,我试过这个:->add('entreprise', EntityType::class, [ 'label' => "Nom de l'entreprise", "class" => Entreprise::class, "choice_label" => "nom", "required" => false, ])我现在有了nom值,但它就像ChoiceType而不是TextType
1 回答
白板的微信
TA贡献1883条经验 获得超3个赞
编辑您正在编辑的实体的子实体的值相当容易。
您必须将表单的类型更改为 TextType,正如您可能已经假设的那样,并提供有关数据在“父”实体上的位置的表单信息,这可以通过以下选项完成property_path
:
->add('entreprise_nom', TextType::class, [
'label' => "Nom de l'entreprise",
'property_path' => 'entreprise.nom', // <--- this
'required' => false,
])
entreprise.nom
本质上告诉表单组件它应该首先访问entreprise
您的实体上的属性,然后在该值上它应该访问该nom
属性(您可以在属性访问)。如果提交了表单并且刷新了实体管理器,它还将更改(!)nom
上的属性。entreprise
- 1 回答
- 0 关注
- 87 浏览
添加回答
举报
0/150
提交
取消