如何在表单中添加非持久字段?

Koc*_*Koc 3 symfony doctrine-orm symfony-sonata sonata-admin

有SonataAdminBundle和User实体.管理服务:

protected function configureFormFields(FormMapper $formMapper)
{
    $formMapper
        ->add('name')
        // ...
        ->add('send_greeting', 'checkbox')
    ;
}
Run Code Online (Sandbox Code Playgroud)

字段send_greetingUser实体无关.它只需要管理服务(取决于我们在保存用户后是否会发送电子邮件的价值).那么如何在不绑定实体的情况下将此字段添加到表单中呢?

小智 21

使用symfony 2.1及更高版本,请使用mapped而不是property_path.(Symfony2表格参考)


Mun*_*Das 6

您可以将property_path选项设置为false.例如

->add('send_greeting', 'checkbox',array(
   'property_path' => false
))
...
Run Code Online (Sandbox Code Playgroud)