微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Symfony2:在单选按钮选择表单中设置数据库的默认值?

symfony2的新手,我有一个包含2个字段的简单表.

由于警报字段是一个布尔值,我声明了这样的形式:

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder                                
        ->add('message', 'text', array('label' => "Message"))                
        ->add('alert', 'choice', array(
              'choices'   => array(1 => 'Yes', 0 => 'No'),
              'expanded'  => true,
              'multiple'  => false,
              'label'     => "Are you agree?",
              'attr'      => array('class' => 'well')
        ));
}

它在我创建新条目时有效,但是当我尝试编辑条目时,存储在数据库中的“警报”选项未在表单中设置(单选按钮).

如何在表单中设置字段的数据库状态?

解决方法:

你有两个选择.

尝试使用formbuilder中的data属性.

$builder                                
        ->add('message', 'text', array('label' => "Message"))                
        ->add('alert', 'choice', array(
              'choices'   => array(1 => 'Yes', 0 => 'No'),
              'expanded'  => true,
              'multiple'  => false,
              'label'     => "Are you agree?",
              'data'      => $entity->getAlert(),
              'attr'      => array('class' => 'well')
        ));

要么:
在symfony中创建表单时,通常会将数据实体传递给该表单.此自动填充所有值.

$this->createForm(new FormType(), $entity);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐