设置单选按钮的默认值

whi*_*ear 1 symfony doctrine-orm

我的buildForm类如下所示.

    $builder->add('icon','entity',
            array(
            'class' => 'UserBundle:IconPics',
            'property' => 'label', // .. or whatever property the image location is stored.
            'expanded' => true,
            'multiple' => false,        
            'label' => 'form.icon', 'translation_domain' => 'FOSUserBundle',
             'query_builder' => function ($repository) {
                return $repository->createQueryBuilder('i')
                ->add('where', 'i.enabled = true');
             }
    ));
Run Code Online (Sandbox Code Playgroud)

如何设置此radiobutton的默认值?

根据Peter Bailey的回答

use Acme\UserBundle\Entity\IconPics;
//
$IconPics = new IconPics();
// howw can I select the target Icon?????
Run Code Online (Sandbox Code Playgroud)

Pet*_*ley 6

您可以通过几种方式为表单设置初始数据

  1. 有了数据选项

    'data' => $default
    
    Run Code Online (Sandbox Code Playgroud)

    在哪里$default的实例UserBundle\Entity\IconPics

  2. 提供初始数据源

    // Assuming form is created in a controller
    $data = new WhateverYourEntitiyIs();
    $defaultIcon = new \UserBundle\Entity\IconPics();
    // Set properties on $defaultIcon here
    // or select $defaultIcon via the repository
    
    $data->setIcon( $defaultIcon );
    $form = $this->createForm( 'form_type', $data );
    
    Run Code Online (Sandbox Code Playgroud)