В Symfony2 RC3 я пытаюсь создать связанный объект на объекте User (FOSUserBundle) в точке создания пользователя, чтобы я мог отобразить соответствующие поля в форме редактирования профиля. Я делаю следующее в RegistrationFormHandler.
класс RegistrationFormHandler
{
защищенный запрос $;
защищенный $ userManager;
защищенная форма $;
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, поэтому кажется, что связь работает неправильно. Кто-нибудь знает, что может быть причиной этого?