Форма Symfony с подчиненной формой

У меня есть форма пользователя и контактная форма в моей пользовательской форме, я пытался добавить свою контактную форму в пользовательскую форму.

Когда я попытался добавить

$builder->add(
            'contact',
            new ContactType()
        );

Это не удалось с

You cannot add children to a simple form.
Maybe you should set the option "compound" to true?

попытался установить соединение, но не сработало

/**
 * {@inheritdoc}
 */
public function configureOptions(OptionsResolver $resolver)
{
    $defaults = array(
        'compound' => true,
        'inherit_data' => true,
    );

    $resolver->setDefaults($defaults);
}

person Alexander Schranz    schedule 26.06.2015    source источник
comment
Контакт принадлежит пользователю? Имеет ли это отношение к пользователю? если ответ отрицательный, вы должны добавить $builder-›add('contact', new ContactType(), array('mapped' =› false) );   -  person Fernando Caraballo    schedule 26.06.2015
comment
у него было отношение, но оно случайно перезаписало getParent   -  person Alexander Schranz    schedule 26.06.2015


Ответы (1)


Параметр compound по умолчанию установлен на true.

  1. Как вы расширили свой класс типа формы? AbstractFormType или что-то другое?
  2. Вы переопределили метод getParent()?

Это может объяснить, что compound установлено на false.

person Jovan Perovic    schedule 26.06.2015
comment
Большое спасибо! Думал, что удалил родителя, но забыл удалить свой собственный getParent в моем собственном абстрактном типе. - person Alexander Schranz; 26.06.2015
comment
Отлично :) Рад, что смог помочь :) - person Jovan Perovic; 26.06.2015
comment
+1 за упоминание вопроса о продлении. Должно быть AbstractType, когда я случайно расширил неправильный класс и получил ошибку из исходного вопроса. - person undefinedman; 28.06.2016