Symfony无法从表单到控制器检索未映射的数据

时间:2016-07-12 10:38:28

标签: forms symfony

我有一个映射到对象的表单,当我尝试将未映射的字段添加到此表单时,我无法检索数据。

这是我的表格:

define("FIREBASE_PRIVATE_KEY","-----BEGIN PRIVATE KEY-----\nMY_VERY_VERY_LONG_KEY\n-----END PRIVATE KEY-----\n");

$private = openssl_pkey_get_private(FIREBASE_PRIVATE_KEY);
$details = openssl_pkey_get_details($private);

// Here's your public key, it's presented as a string, not a resource
$public = $details['key'];

控制器:

/**
 * @param FormBuilderInterface $builder
 * @param array $options
 */
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
            ->add('comment', TextareaType::class, [
                'label'=>'supidx.stateHistory.field.comment.short',
                    ]
            )
            ->add("file", FileType::class, [
                'label'=>false,
                'required'=>false,
                'mapped'=>false
            ])
    ;
}

转储($ file)每次都返回null。

我无法弄清楚为什么这不起作用。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果file是对象属性,则使用适当的setter

$object->getFile();

或者,如果您想直接从表单中检索任何变量

$form['file']->getData()