Как получить поле формы, которое настроено "mapped" => false в Symfony Form?

Как получить поле формы, которое настроено "mapped" => false и НЕ является частью формы ENTITY в Symfony Form?

После отправки формы объект формы не содержит поля, настроенного как "mapped" => false с именем mainCheckbox.

Конструктор форм:

class DocumentCategoryType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('name', TextType::class, array(
                'label' => 'Podkategoria'))
            ->add('mainCheckbox', CheckboxType::class, array(
                'label'    => 'Kategoria główna',
                "mapped" => false,
            ))
            ->add('parentId', EntityType::class, array(
                'label'    => 'Kategoria główna',
                'class' => IntraDocumentCategory::class,
                'query_builder' => function (EntityRepository $er) {
                    return $er->createQueryBuilder('c')
                        ->where('c.parentId = :parent')
                        ->setParameter('parent', 0);},
                'choice_label' => 'name',
            ))
            ->add('save', SubmitType::class, array('label' => 'Dodaj'));
    }

Контроллер:

$documentCategory = new IntraDocumentCategory();
$form = $this->createForm(DocumentCategoryType::class, $documentCategory);
$form->handleRequest($request);

if ($form->isSubmitted() && $form->isValid()) {
    $formData = $form->getData();

При отладке $formData является объектом AppBundle\Entity\IntraDocumentCategory и содержит только их поля, а не mainCheckbox из конструктора форм.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
3
0
839
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете получить доступ к полям формы с помощью следующего синтаксиса:

$form->get('mainCheckbox')->getData();

Если поле присутствует, вы должны получить значение этого поля.

Другие вопросы по теме