ユーザーが1つのチェックボックスを変更できないようにする簡単な方法があるかどうか疑問に思っていました(Symfony 2.1)。私はこのようなことを試みていました:
$builder->add('adminRoles', 'entity', array(
'property' => 'roleName',
'class' => 'MyBundle:Role',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('r')
->orderBy('r.roleName', 'ASC');
},
'disabled' => $this->disabledRoles,
'expanded' => true,
'multiple' => true
));
$this->disabledRoles とは、Role エンティティまたはエンティティ自体の ID の配列を意味していましたが、すべてのエンティティ (チェックボックス) に適用されるブール値を受け入れるだけのようです。アドバイスありがとうございます :-)