Я пытаюсь создать форму, которая будет включать в себя поля из другой.У меня есть юридическое лицо и юридическое лицо.Когда администратор создает клиента, он также должен иметь возможность ввести свой адрес.Следил за документами, потому что это мой первый раз.И это выглядит так:
Сущность Клиент
//
/**
* @var string
*
* @Assert\Type(type="AppBundle/Entity/HAddress")
* @Assert\Valid
*/
private $address;
//
Есть еще несколько полей.Сущность HAddress также проста:
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="house_number", type="string", length=200, nullable=true)
*/
private $houseNumber;
/**
* @var string
* @Assert\NotBlank()
* @ORM\Column(name="street", type="string", length=200, nullable=true)
*/
private $street;
/**
* @var string
* @Assert\NotBlank()
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\HCity", inversedBy="addresses")
*/
private $city;
И у меня есть формы.Форма клиента:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('username', TextType::class)
->add('password', PasswordType::class)
->add('firstName', TextType::class)
->add('lastName', TextType::class)
->add('personalId', NumberType::class)
->add('address', HAddressType::class) // This one is embedded
->add('phone', NumberType::class)
->add('email', EmailType::class)
->add('trase', NumberType::class)
->add('edNumber', NumberType::class)
->add('limitPow', NumberType::class)
->add('deviceId', NumberType::class)
->add('active', CheckboxType::class)
->add('type', NumberType::class)
->add('group', EntityType::class, [
'class' => 'AppBundle\Entity\Group'
]);
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => Customer::class
));
}
/**
* {@inheritdoc}
*/
public function getBlockPrefix()
{
return 'appbundle_customer';
}
Форма предоставляется в порядке.Все поля есть.Но когда я отправляю форму, она не передает isValid () в моем контроллере и возвращает ошибку:
Это значение должно иметь тип AppBundle / Entity / HAddress.
Itуказывает на поле customer.addres.Что сумасшедшего, так это:
forms snapshot">
В этом снимке (Profiler-> формы) вы можете увидеть адрес системы, распознаваемый как данные сущности HAdress.
Что означает эта ошибка, чем?Что я делаю не так?