Теперь я пытаюсь создать формы с помощью Symfony 2 Formbuilder. У меня есть таблица «Клиент» с объединением таблицы «Адрес».
Мне нужна форма с полями клиента и некоторыми полями адреса.
Все поля должны быть текстовыми.
Это то, что я сделал до сих пор, но мне интересно, действительно ли это лучшая практика или есть лучший способ решить эту проблему.
Я создал для адреса таблицы дополнительный тип и добавил его в клиентский тип.
Тип клиента используется для FormBuilder.
AddressType.php
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('street')
->add('company');
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Test\UserBundle\Entity\Address',
));
}
public function getName()
{
return 'Address';
}
ClientType.php
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('title')
->add('Address', new AddressType());
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Test\UserBundle\Entity\Client',
));
}
public function getName()
{
return 'Client';
}