Я пытаюсь создать форму, которая изменит роли пользователей, для множества пользователей на одной странице. У пользователей есть уникальный адрес электронной почты и идентификатор. Однако при попытке добавить параметр $ child в форму, содержащую электронную почту пользователя:
$form->add($user->getEmail(), ChoiceType::class, [
'choices' => $options,
'placeholder' => 'Select role',
'data' => $defaultValue,
]);
... я получаю сообщение об ошибке:
The name "mail@example.com" contains illegal characters. Names should start with a letter, digit or underscore and only contain letters, digits, numbers, underscores ("_"), hyphens ("-") and colons (":").
Эта проблема исчезает, если Я добавляю имя пользователя вместо электронной почты:
$form->add($user->getUsername(), ChoiceType::class, [
'choices' => $options,
'placeholder' => 'Select role',
'data' => $defaultValue,
]);
... но одних и тех же имен пользователей может быть очень много.
Как передать адрес электронной почты или идентификатор пользователя в форму чтобы убедиться, что значение выбранной роли относится к конкретному пользователю?