簡體   English   中英

Symfony中的路由問題

[英]Routing Issues in Symfony

目前,我的Symfony應用程序中的路由存在一個小問題,我只是想知道是否有人可以幫助我。

我在控制器中按以下確切順序設置了這兩個功能:-

/**
 * @Route("{region}/{area}", name="livearea")
 */
public function liveareaAction(Request $request, $region, $area)
{
    // START THE ENTITY MANAGER FOR DOCTRINE DB
    $em = $this->getDoctrine()->getManager('crm');

    // FIND THE LOCATION REGION
    $query = $em->getRepository(ENTITY)->findOneBy(array('link' => $region));

    if($query == NULL || $query->getActive() == '0') {
        $slug = $region."/".$area;

        return $this->redirectToRoute("livepages", array('slug' => $slug));
    } else {
        // CONTINUE WITH CODE
    }
}

然后是這個:-

/**
 * @Route("{slug}", name="livepages", requirements={"slug"=".+"})
 */
public function livepagesAction(Request $request, $slug)
{   
    $repository = $this->getDoctrine()->getRepository('AppBundle:Pages');
    $pages = $repository->findOneBySlug($slug);

    if($pages == NULL || $pages->getActive() == '0') {
        throw $this->createNotFoundException('Not Found');
    }

    // CONTINUE TO PAGE
}

兩者相互沖突。 我希望它的工作方式是,如果livearea沒有任何內容,則強制將其重定向到livepages函數。 它有可能發生嗎?

更新

已將其標識為重復項,但是重復項不起作用。 因此,這已被提出為新問題。

我在一個行為完全相同的項目中工作。

我會做你的情況是把livepagesAction以上liveareaAction ,然后添加在檢查livepages如果slug與已知區域和面積livearea路由匹配。 如果是,請livearea給定區域和區域的生活區。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM