У меня есть пользовательский класс, имеющий отношение OneToOne
с Applicant
и Company
, я хочу предложить зарегистрироваться как один из обоих.Чтобы сделать это, я сделал 3 формы: UserType (email)
, ApplicantType (firstName)
и CompanyType (companyName)
.Согласно url, я сгенерирую ApplicantType или CompanyType для добавления к UserType.
Для передачи типа я использую
$form = $this->createForm(UserType::class, $user, ['data' => ['type' => $type]]);
, поэтому мой UserType
получает тип в $options
и динамически добавляет
->add('applicant', ApplicantType::class) or ->add('company',CompanyType::class)
Я получаю сообщение об ошибке
The form's view data is expected to be an instance of class App\Entity\User, but is a(n) array. You can avoid this error by setting the "data_class" option to null or by adding a view transformer that transforms a(n) array to an instance of App\Entity\User.
В конце я хочу сделать следующее:после отправки создайте и скопируйте объект «Заявитель / Компания», который я присоединю к вновь созданному объекту «Пользователь».