我有一个应用程序,每个用户都有一个“主页”。
我已覆盖我的FOSUserBundle注册FormType以嵌入Home并在注册过程中捕获一些属性。不幸的是,当我注册时,新用户是持久的,但新的主页不是。
我真的不希望在用户上设置postPersist侦听器,我想为现有的主页创建第二个用户。我假设我必须覆盖RegistrationFormHandler onSuccess()或process()方法并手动保留主页?如果是这种情况,我是否必须在构造函数中注入DocumentManager?这是最好的方法吗?
如果有任何不同,我使用Doctrine MongoDB ODM作为存储层?
答案 0 :(得分:0)
我created my own RegistrationFormHandler并覆盖了onSuccess方法:
public function onSuccess(UserInterface $user, $confirmation)
{
$home = $user->getHome();
$this->documentManager->persist($home);
$this->documentManager->flush();
parent::onSuccess($user, $confirmation);
}
这使用了您需要在构造函数中注入的文档管理器。