В моем проекте у меня 3 объекта; User, Module и UserModule.
У пользователя есть такие свойства, как id, имя пользователя, электронная почта, а также свойство UserModules, которое является коллекцией UserModules.
Модуль имеет свойства id, имя и описание.
Каждый объект UserModule имеет свойства User (ссылка на соответствующего пользователя), Module (ссылка на соответствующий модуль) и Access (логическое значение, разрешен ли доступ)
Моя проблема не задана знать, как использовать Symfony типы форм, чтобы показать все модули при создании пользователя. У меня уже есть несколько модулей (например, «admin», «ticket», «help»). В моем классе UserType мой метод buildForm выглядит следующим образом:
{
$builder
->add('username')
->add('email')
->add('modules', CollectionType::class, [
'entry_type' => UserModuleType::class,
'entry_options' => [
'label' => false
],
]);
}
мой класс UserModuleType равен
{
$builder
->add('access', ChoiceType::class, [
'choices' => [
'No Access' => false,
'Full Access' => true,
]
]);
}
. Здесь показаны пользовательские модули, назначенные пользователю, но при создании пользователя я хочу его чтобы уже были добавлены пользовательские модули для каждого модуля.
Как настроить это так, чтобы форма использовала все возможные модули для создания пользовательских модулей по умолчанию?