2016-06-21 8 views
0

Zendフレームワークのルーティングに問題があります。Zendフレームワークルーティングエラー

'name' => array(
    'type' => 'Zend\Mvc\Router\Http\Segment', 
    'options' => array(
     'route' => '/site/:id/orders[/:page]', 
     'constraints' => array(
      'id' => '[0-9]*', 
      'page' => '[0-9]*' 
     ), 
     'defaults' => array(
      'controller' => 'Application\Controller\Site', 
      'action'  => 'action' 
     ), 
    ), 
), 

コントローラ内。 (!)

$id = (int) $this->params()->fromRoute('id'); 

、ブラウザがこのエラーを返しますいくつかのケースで

- 「『ID』パラメータがありません」が、私はなぜ知りません。

誰でもこの問題について私を助けることができますか?

+0

*「そして、いくつかの(!)のケースでは...」*あなたが与えることができますそれらのケースの1つの例?それ以外の場合は、あなたを助けることは不可能です... – Wilt

+0

私はそれが奇妙に聞こえることは知っていますが、主にIDが1つだけの数字で構成されている場合です。しかし、場合によっては、例えば。 ID 33、それもうまくいきません。私は本当に知らない。 – KRiSTiN

+0

これらのURLを質問に例として追加できますか? – Wilt

答えて

0

あなたのルート設定IDにも基づいてルートにIDが存在する必要がありますので、リクエストしたリンクにはIDがありません。あなたの制約も 'id' => '[0-9] +'に変更して、IDが存在する必要があります。

は、ともあなただけのIDを取得します

$id=$this->params("id"); 

を入力して、コントローラ内のIDを取得すぎ