Symfony 无法猜测如何从参数“的请求信息”中获取条令实例;“类”;
我正试图发送一封带有令牌的电子邮件,以便重新发送自动密码。但在我看来,我正在检索以下错误:Symfony 无法猜测如何从参数“的请求信息”中获取条令实例;“类”;,symfony,symfony4,Symfony,Symfony4,我正试图发送一封带有令牌的电子邮件,以便重新发送自动密码。但在我看来,我正在检索以下错误: /** * @Route("/forget-email/", name="forget", methods="GET|POST") */ public function emailrestore(Request $request, User $user, \Swift_Mailer $mailer) { $url = "test";
/**
* @Route("/forget-email/", name="forget", methods="GET|POST")
*/
public function emailrestore(Request $request, User $user, \Swift_Mailer $mailer)
{
$url = "test";
$form = $this->createForm(ForgetPasswordType::class, $user);
$form->handleRequest($request);
$email = $form['email']->getData();
$user = $this->getDoctrine()
->getRepository(User::class)
->find($email);
if ( $email === $user ) {
$mail = (new \Swift_Message('Hello Email'))
->setFrom('email@email.email')
->setTo($email)
->setBody(
$this->renderView(
// templates/emails/registration.html.twig
'emails/registration.html.twig',array('url' => $url,)
),
'text/html'
);
$mailer->send($mail);
} else{
var_dump("$email");
}
return $this->render('forget/email.html.twig', [
'form' => $form->createView(),
'error' => null,
]);
}
在我的实体中,电子邮件是唯一的
* @UniqueEntity(fields="email", message="Email already taken")
我正在检索以下错误:
无法猜测如何从参数“user”的请求信息中获取条令实例。为什么
感谢您对advance的解释您的操作参数中有“User$User”,但您的请求中没有参数“User”,因此我猜您的ParamConverter无法将此参数转换为用户对象
使您的路线成为格式如下的GET路线:
/**
* @Route("/forget-email/{user}", name="forget", methods="GET")
*/
如果用户是您想要的任何东西(邮件、用户名、uid等),只要它允许您检索您的用户对象,并让您的paramconverter将其转换为条令对象 解决方案如下: