1

我有一个没有类的表格

class ProfilesSearchType extends AbstractType {

    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
                ->add('disabilityType', 'entity', array(
                    'class' => 'AldenXyzBundle:DisabilityType',
                    'property' => 'name',
                    'multiple' => true,
                    'expanded' => true,
                ))
        ;
    }

在控制器中调用

public function listAction()
{
    $form = $this->createForm(
        new \Alden\XyzBundle\Form\Type\ProfilesSearchType(), array());
    if (isset($_GET['profile_search']))
    {
        $form->bindRequest($request);
        $d = $form->getData();
        // some stuff here
    }
    return array(
        'form' => $form->createView()
    );
}

如何将disabilityType中的所有复选框设置为默认选中?类定义是(我删除了setter和getter)

class DisabilityType {

    /**
     * @var integer $disabilityTypeId
     *
     * @ORM\Column(name="disability_type_id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $disabilityTypeId;

    /**
     * @var string $name
     *
     * @ORM\Column(name="name", type="string", length=50, nullable=false)
     */
    private $name;

    /**
     * @var Profile
     *
     * @ORM\ManyToMany(targetEntity="Profile", mappedBy="disabilityType")
     */
    private $profile;

    public function __construct()
    {
        $this->profile = new \Doctrine\Common\Collections\ArrayCollection();
    }
}
4

2 回答 2

1

我在控制器中添加

$disabilityDegree = $this->getDoctrine()->
    getRepository("AldenXyzBundle:DisabilityDegree")->findAll();
$form = $this->createForm(new \Alden\XyzBundle\Form\Type\ProfilesSearchType(), array(
        'disabilityType' => new \Doctrine\Common\Collections\ArrayCollection($disabilityType),
            )
    );
于 2012-05-28T06:30:13.997 回答
0

你必须用所有的disabilityType初始化你的表格

你可以这样做:

$disabilities = $this->getDoctrine()->getRepository("AldenXyzBundle:DisabilityType")-  >findAll();
$form = $this->createForm(new \Alden\XyzBundle\Form\Type\ProfilesSearchType(), $disabilities);
于 2012-05-25T08:32:14.543 回答