![](/img/trans.png)
[英]Issue Symfony 3.4 “object not found by the @ParamConverter annotation”
[英]Symfony 5 get fail object not found by the @ParamConverter annotation
我有一个用于在我的事件中添加用户的表单,但是当我添加用户时,我尝试在此事件中添加一个角色,但是在执行第二个 function 时我得到这个失败
@ParamConverter 注释找不到 App\Entity\Evento object。
没看到问题,谢谢
public function registro(Request $request, UserPasswordEncoderInterface $encoder, Evento $evento)
{
$evento = $this->getDoctrine()->getRepository(Evento::class)->findOneById($evento);
$user = new user();
$form = $this->createForm(RegisterUsuarioEventoType::class, $user);
//rellenar el objeto con los datos del formulario
$form->handleRequest($request);
//comprobando si el formulario se ha enviado
if($form->isSubmitted() && $form->isValid()){
//modificando objeto para guardarlo
$user->setRole('ROLE_USER');
$user->setFecha(new \DateTime('now'));
$encoded = $encoder->encodePassword($user, $user->getPassword());
$user->setPassword($encoded);
$user->addEvento($evento);
$evento->addUser($user);
$em = $this->getDoctrine()->getManager();
$em->persist($user);
$em->flush();
return $this->redirect($this->generateUrl('registro2', ['id' => $user->getId()]));
}
return $this->render('evento/register-evento.html.twig', [
'form' => $form->createView()
]);
}
我的第二个 function 在第一个刷新我的数据库时执行,
public function registro2(Request $request, Evento $evento)
{
$userhasevento = new UserHasEvento();
$form = $this->createForm(RegisterUsuarioEvento2Type::class, $userhasevento);
$form->handleRequest($request);
if($form->isSubmitted() && $form->isValid()){
$contactFormData = $form->getData();
$userhasevento->SetTipoinvitado($contactFormData['tipo'],'text/plain');
$userhasevento->SetFechainscripcion(new \DateTime('now'));
$userhasevento->SetEventoid($evento->getId());
$userhasevento->SetUserid($user->getId());
$em = $this->getDoctrine()->getManager();
$em->persist($userhasevento);
$em->flush();
return $this->redirect($this->generateUrl('detalle', ['id' => $evento->getId()]));
}
return $this->render('evento/AsignarEvento.html.twig', array(
'UserHasEvento' => $userhasevento,
'form' => $form->createView()
));
}
路线:
registro:
path: /registroEvento/{id}
controller: App\Controller\EventoController::registro
registro2:
path: /registroEvento/tipo-invitado/{id}
controller: App\Controller\EventoController::registro2
内部登记处
return $this->redirect($this->generateUrl('registro2', ['id' => $user->getId()]));
应该改为
return $this->redirect($this->generateUrl('registro2', ['id' => $evento->getId()]));
或者你应该改变
public function registro2(Request $request, Evento $evento)
至
public function registro2(Request $request, User $user)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.