保存する前に、新しいユーザーにデフォルト値を設定する必要があります。問題は、FormHandler 内からリポジトリを介してオブジェクトを取得する方法が見つからないことです。
<?php
namespace Acme\UserBundle\Form\Handler;
use FOS\UserBundle\Form\Handler\RegistrationFormHandler as BaseHandler;
use FOS\UserBundle\Model\UserInterface;
class RegistrationFormHandler extends BaseHandler
{
protected function onSuccess(UserInterface $user, $confirmation)
{
$repository = $this->container->get('doctrine')->getEntityManager()->getRepository('AcmeUserBundle:Photo');
if($user->isMale()){
$photo = $repository->getDefaultForMale();
$user->setPhoto($photo);
}
else {
$photo = $repository->getDefaultForFemale();
$user->setPhoto($photo);
}
parent::onSuccess($user, $confirmation);
}
}
問題は次の行から発生します。
$repository = $this->container->get('doctrine')->getEntityManager()->getRepository('AcmeUserBundle:Photo');
...そして、このリポジトリ、またはこの FormHandler からエンティティ マネージャーを取得する方法が見つかりません。
助けてくれて本当にありがとうございます !あ