0
Symfony2 RC3では、ユーザー作成時にUserオブジェクト(FOSUserBundle)上に関連するエンティティを作成して、編集プロファイルフォームに適切なフィールドを表示できるようにしようとしています。私は、RegistrationFormHandlerで次のことをしています。FOSUserBundleの作成時点で、関連するエンティティをユーザオブジェクトに追加するにはどうすればよいですか?
class RegistrationFormHandler { protected $ request; protected $ userManager; protected $ form;
public function __construct(Form $form, Request $request, UserManagerInterface $userManager)
{
$this->form = $form;
$this->request = $request;
$this->userManager = $userManager;
}
public function process($confirmation = null)
{
$user = $this->userManager->createUser();
$this->form->setData($user);
if ('POST' == $this->request->getMethod()) {
$this->form->bindRequest($this->request);
if ($this->form->isValid()) {
if (true === $confirmation) {
$user->setEnabled(false);
} else if (false === $confirmation) {
$user->setConfirmationToken(null);
$user->setEnabled(true);
}
$prog = new \MyBundle\CoreBundle\Entity\Programme();
$prog->setStartDate(date_create());
$prog->setEndDate(date_create());
$prog->setWeeklyTarget(4);
$prog->setGoal('');
$user->addProgrammes($prog);
$this->userManager->updateUser($user);
return true;
}
}
return false;
}
}
アソシエーションが正しく動作していないようですので、プログラムのレコードがデータベースではなく、ヌルUSER_IDで作成されますありません。誰がこれを引き起こしているのか知っていますか?