forms - Controller Action 中的symfony2 : setting the value of a form field outside the form,

标签 forms symfony doctrine-orm symfony-forms image-upload

我需要设置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();

关于forms - Controller Action 中的symfony2 : setting the value of a form field outside the form,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13249485/

相关文章:

symfony - Symfony2 中的依赖注入(inject)最佳实践

linux - 删除 symfony 项目

php - 为什么我在将 Symfony 4 应用程序部署到 Heroku 时遇到问题?

php - 从大表中删除不存在于另一个表的大子集中的记录

php - 使用 MySQL 的原则

mysql - 如何在doctrine中进行复杂的SQL查询

python - 表格模板

javascript - 无 JavaScript 浏览器的 Noscript 表单后备

javascript - 当我重新加载页面时,在 url 中有#register,表单在#login 中是不可见的,表单是否正常工作?

php - 提交时获取复选框值