これが問題を取り除くために私がしたことです
/app/config/security.ymlで次のように役割を定義します
role_hierarchy:ROLE_ADMIN:[ROLE_ADMIN] ROLE_SUPER_ADMIN:[ROLE_SUPER_ADMIN、ROLE_ALLOWED_TO_SWITCH] ROLE_TEACHER:[ROLE_TEACHER] ROLE_STUDENT:[ROLE_STUDENT] ROLE_PARENT:[ROLE_PARENT]
コントローラで、次のコードを使用して/app/config/security.ymlからロールを取得します
$ roles =$ this-> getParameter('security.role_hierarchy.roles');
これは、フォームタイプの役割のコードです
$ roles =$ this-> getParent('security.role_hierarchy.roles');
次に、フォームタイプで(ここでは複数選択です)
-> add('roles'、ChoiceType ::class、array('attr' => array('class' =>'form-control'、'style' =>'margin:5px 0; ')、' choices'=> array(' ROLE_ADMIN'=> array(' Yes'=>' ROLE_ADMIN'、)、' ROLE_TEACHER'=> array(' Yes'=>' ROLE_TEACHER')、' ROLE_STUDENT'=> array('Yes' =>'ROLE_STUDENT')、'ROLE_PARENT' => array('Yes' =>'ROLE_PARENT')、)、'multiple' => true、'required' => true、))
>編集 ユーザーロールは、以下のように/app/config/security.ymlで定義する必要があります
role_hierarchy:ROLE_ADMIN:[ROLE_ADMIN] ROLE_SUPER_ADMIN:[ROLE_SUPER_ADMIN、ROLE_ALLOWED_TO_SWITCH] ROLE_TEACHER:[ROLE_TEACHER] ROLE_STUDENT:[ROLE_STUDENT] ROLE_PARENT:[ROLE_PARENT]