クラスのないフォームがあります
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からすべてのチェックボックスを設定する方法は? クラス定義は(セッターとゲッターを削除しました)
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();
}
}