0

私は持っている

Route::get('/layouttest/{category}/{brand}', array('as' => 'main', 'uses' => 'MainController@showUrls')) ->where(array('category' => '[0-9]+', 'brand' => '[0-9]+'));

これはうまくいきます。しかし、他のgetリクエストをキャプチャするルートが必要です/layouttest/。条件が満たされていない場合{category}、または両方が提供されていない場合など。これを機能させることさえできません(上記のルートの後に、routes.php の if を配置しました)。{brand}->where

Route::get('/layouttest/', 
    array('as' => 'index', 'uses' => 'MainController@index'));

リクエストする/layouttest/と、NotFoundHttpException.

4

1 に答える 1

1

これはあなたがそれを行う方法です:

Route::get('/layouttest/{category?}/{brand?}', array('as' => 'main', 'uses' => 'MainController@showUrls'))->where(array('category' => '[0-9]+', 'brand' => '[0-9]+'));

別のコントローラーにフォールバックするには、2 つのルートを作成する必要があります。

Route::get('/layouttest/{category}/{brand}', array('as' => 'main', 'uses' => 'MainController@showUrls'))->where(array('category' => '[0-9]+', 'brand' => '[0-9]+'));

Route::get('/layouttest/{category?}/{brand?}', array('as' => 'index', 'uses' => 'AnotherController@showUrls'));

これを 2 位に留めておけば大丈夫です。

于 2013-11-26T17:14:57.373 に答える