我需要设置symfony2表单元素的值。
我在 Controller 操作中使用了doctrine2实体, Symfony\Component\Form\AbstractType 和createForm()方法。

$saleDataForm = $this->createForm(new SaleType(), $sale);

现在,如何从该表单中获取元素,以及如何设置其值?
我想做这样的事情,但是不起作用:
$saleDataForm->get('image')->setValue('someimapge.jpg');

仅供引用:我需要执行此操作才能正确呈现字段(使用this approach,我的图片字段始终为空,我需要将其设置为imagePath的内容以呈现上载图片的预览)

最佳答案

要获得更准确的答案,您应该包括此表单中使用的实体,以便我们可以看到getter和setter。但是根据您的问题,这应该可以工作:
在 Controller 内部执行以下操作:

$saleDataForm->getData()->getImage()->setValue('someimage.jpg');
$form->setData($form->getData());

这是如果已经创建了表单,则:
$saleDataForm = $this->createForm(new SaleType(), $sale);
$saleDataForm->getData()->getImage()->setValue('someimage.jpg');
$form->setData($form->getData());

要获取数据,请使用以下命令:
$saleDataForm->getData()->getImage()->getValue();

10-07 18:08