У меня есть сущность QR-кода с идентификатором, токеном и вторичным ключом в идентификаторе пользователя. Я получаю доступ к представлению, которое предлагает некоторые вещи и кнопку, которая позволяет пользователю подключаться. Вот где он застрял для меня, я сделал свою форму, и я хочу, чтобы, когда пользователь подключается, он назначил себе этот QR-код. Но на данный момент я даже не захожу на свою страницу:
/ getQrCode / doggybag / {id} / {token}
Мой контроллер:
class QRScannerController extends AbstractController
{
/**
* @Route("/getQrCode/doggybag/{id}/{token}", name="qrcode")
*/
public function index(EntityManagerInterface $em, int $id, string $token): Response
{
$qrcode = $em->getRepository(Qrcode::class)->findAll();
if (null === $qrcode) {
throw new NotFoundHttpException();
}
return $this->render('qr_scanner/index.html.twig', [
'qrcode' => $qrcode,
]);
}
/**
* @Route("/getQrCode/doggybag/{id}/{token}/connexionUser", name="connexionUser")
*/
public function connexionUser(EntityManagerInterface $em, int $id, string $token, Request $request): Response
{
$qrcode = $em->getRepository(Qrcode::class)->findAll();
if (null === $qrcode) {
throw new NotFoundHttpException();
}
if ($request->isMethod('POST')) {
$em = $this->getDoctrine()->getManager();
$em->getRepository(User::class)
->findAll();
return $this->render('qr_scanner/congrats.html.twig');
}
return $this->render('qr_scanner/connexionUser.html.twig', [
'qrcode' => $qrcode,
]);
}
}
Другие проблемы, я генерирую свои qr-коды в JS, давая им такую ссылку:
domain.com / getQrCode / doggybag / {id} /{token}
Так что я должен сделать все мои тесты в продукт ...
Редактировать:
На самом деле моя проблема приходитс моей точки зрения. Моя кнопка, позволяющая перейти к представлению
"connexionUser"
, выполняется следующим образом:
<a href="{{path('loginUser') }}"><img src="{{asset('build/assets/img/xxx.png')}}"></a>
Переход не выполнен,Я думаю, что он забывает идентификатор и токен моего qrcode, когда хочет попасть на страницу:
domain.com / getQrCode / doggybag / {id} / {token} / connexionUser
Хотя, если я добавлю "/loginUser"
, указывающий реальный идентификатор и реальный токен, это сработает.
Как это забыть данные URL?
Edit2:
Достаточно было передать идентификатор и токен в моем представлении следующим образом:
/**
* @Route("/getQrCode/doggybag/{id}/{token}", name="qrcode")
*/
public function index(EntityManagerInterface $em, int $id, string $token): Response
{
$qrcode = $em->getRepository(Qrcode::class)->findAll();
if (null === $qrcode) {
throw new NotFoundHttpException();
}
return $this->render('qr_scanner/index.html.twig', [
'qrcode' => $qrcode,
'id' => $id,
'token' => $token
]);
}
и использовать его следующим образом:
<a href="{{ path('connexionUser', {id: id, token: token}) }}"><img src="{{asset('build/assets/img/xxx.png') }}"></a>
Проблема решена! : D