donglv6747 2018-07-20 13:53
浏览 31
已采纳

将EntityType选项保存为字符串 - Symfony 4

I have entity1 and entity2.

In the entity1's form, I am displaying a choice list where the options are comming from entity2. I want to save the selected choice as string inside a column in entity1's table, but I dont want to create any relations between the tables.

How Should I do that?

class Entity1 {
/**
 * @ORM\Column(type="string")
 */
private $historico;
}

class Entity2 {
/**
 * @ORM\Column(type="string")
 */
private $description;
}

Entity1FormType.php

$builder->add('historico', EntityType::class, [
                'class' => Entity2::class,
                'choice_label' => 'description',
                'choice_value' => 'description',
                'placeholder' => ''
            ]);

The choices display fine, but when I submit I get the following error:

Expected argument of type "string", "App\Entity\Entity2" given.

If I use 'mapped' => false, the input submit as null.

How do I convert the entity object to string? Help a symfony noob :)

  • 写回答

1条回答 默认 最新

  • duanhui1185 2018-07-20 16:01
    关注

    If you use mapped => false you have to fetch the data manually in your controller after the form is submitted.

    so you will have something like this:

    public function postYourFormAction(Request $request)
    {
        $entity1 = new Entity1();
        $form = $this->createForm(Entity1Type::class $entity1);
        $form->handleRequest($request);
        if($form->isSubmitted() && $form->isValid()) {
            $entity1 = $form->getData;
            $historico = $form->get('historico')->getData();
            $entity1->setHistorico($historico);
            $em->persist($entity1);
            $em->flush();
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥150 HDMI分路器LT86102 的输出在890MHz频点处EMC超标8DB
  • ¥36 如何安全的迁移用户C盘用户文件(戴尔电脑)
  • ¥15 druid(相关搜索:数据库|防火墙)
  • ¥15 大一python作业
  • ¥15 preLaunchTask"C/C++: aarch64- apple-darwin22-g++-14 生成活动 文件”已终止,退出代码为-1。
  • ¥60 如何鉴定微信小程序数据被篡改过
  • ¥18 关于#贝叶斯概率#的问题:这篇文章中利用em算法求出了对数似然值作为概率表参数,然后进行概率表计算,这个概率表是怎样计算的呀
  • ¥20 C#上传XML格式数据
  • ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
  • ¥20 手机截图相片分辨率降低一半