繁体   English   中英

Symfony 将“登录”传递给路由的默认参数

[英]Symfony passing 'login' to default parameter of route

我在用户通过身份验证后调用的路由中添加了一个默认参数。 运行 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' 然后重定向并检查用户是否已完全通过身份验证,但两者都向我发送了无限重定向。

最终需要两条具有不同路线名称的独立路线。

     * @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
        ]);
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM