我试图将FOSUserBundle整合到我的web应用程序(基于symfony)中。 我的申请需要有两种不同的注册表格;一个用于公司配置文件,另一个用于简单用户配置 我想将来自FOSUserBundle的用户实体分离为公司实体。 我试图从用户实体中扩展公司;通过这种方式,可以很容易地创建这样一个RegistrationFormType:与FOSUserBundle的多重注册表格
```
class RegistrationFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
// add your custom field
$builder->add('name');
$builder->add('works', 'entity', array(
'class' => 'SkaLabFrontEndBundle:Works',
'property' => 'name'
));
$builder->add('address');
....
}
$builder->add('email');
$builder->add('username');
$builder->add('plainPassword', 'repeated', array(
'type' => 'password',
'invalid_message' => 'The password fields must match.',
'options' => array('attr' => array('class' => 'password-field')),
'required' => true,
'first_options' => array('label' => 'Password'),
'second_options' => array('label' => 'Repeat Password')));
}
/**
* @param OptionsResolverInterface $resolver
*/
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'SkaLab\Bundle\UserBundle\Entity\User'
));
}
public function getName()
{
return 'skalab_bundle_userbundle_registration_form';
}
}
但我不希望从用户实体延伸的公司,因为这样一来,当我启动后续命令:
php app/console doctrine:schema:update --force
要更新数据库模式,应该在公司表中放置fos用户字段。 保证,我想保持用户表(fos_user)与公司表分开,并在公司和用户表之间建立一对一的关系。 显然,注册表格需要有与用户和公司表相关的字段。
我该如何做到这样的事情?