为了账号安全,请及时绑定邮箱和手机立即绑定

FormType 从实体关系中添加字段

FormType 从实体关系中添加字段

PHP
潇湘沐 2023-04-28 13:57:09
在我的 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



查看完整回答
反对 回复 2023-04-28
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信