Symfony передача 'login' параметру маршрута по умолчанию - PullRequest
0 голосов
/ 06 мая 2020

Я добавил параметр по умолчанию к маршруту, который вызывается после аутентификации пользователя. После запуска doctrine: fixtures: load для загрузки новых данных я обновил страницу, ожидая, что она приведет меня к экрану входа в систему. Однако похоже, что он вызывает маршрут и передает «логин» параметру по умолчанию.

    /**
     * @Route("/{sortOrder}", name="patient_order_index")
     * @param PatientOrderRepository $patientOrderRepository
     * @param $sortOrder
     * @return Response
     */
    public function index(PatientOrderRepository $patientOrderRepository, string $sortOrder = null)
    {

        $patients = $patientOrderRepository->getPatientsWithOrders($sortOrder);

        return $this->render('patient_order/index.html.twig', [
            'patient_orders' => $patients, 'sortOrder' => $sortOrder
        ]);
    }

Я пытался проверить, был ли $sortOrder = 'login', затем перенаправлял и проверял, был ли пользователь полностью аутентифицирован, но оба отправили мне бесконечные перенаправления.

1 Ответ

0 голосов
/ 06 мая 2020

В итоге потребовалось два отдельных маршрута с разными именами.

     * @Route("patient_order/orders/{sortOrder}", name="patient_order_index")
     * @Route("/", name="default_homepage")
     * @param PatientOrderRepository $patientOrderRepository
     * @param $sortOrder
     * @return Response
     */
    public function index(PatientOrderRepository $patientOrderRepository, string $sortOrder = null)
    {

        if($sortOrder == null) {
            $sortOrder = 'ASC';
        }

        $patients = $patientOrderRepository->getPatientsWithOrders($sortOrder);

        return $this->render('patient_order/index.html.twig', [
            'patient_orders' => $patients, 'sortOrder' => $sortOrder
        ]);
    }
...