2014-11-08 111 views
2

我試圖讓Laravel允許多路由到1個控制器。這是因爲我想爲多個項目使用我的代碼。想象一下以下內容:Laravel中的動態/可變路由

// Routes to the products 
Route::get('/products', '[email protected]'); 
Route::get('/products/{id}', '[email protected]'); 
Route::get('/products/{id}/{any}', '[email protected]'); 

// Routes to the products 
Route::get('/items', '[email protected]'); 
Route::get('/item/{id}', '[email protected]'); 
Route::get('/item/{id}/{any}', '[email protected]'); 

這矯枉過正我看來 - 我試圖創建一個自定義配置文件,並添加首選的URI

// custom config 
return array(
    'product_plural' => 'products', 
    'product_single' => 'product' 
) 

,並添加該到我的路線

// Routes to the products 
Route::get(Config::get('myconfig.product_plural'), '[email protected]'); 
Route::get(Config::get('myconfig.product_single').'/{id}', '[email protected]'); 
Route::get(Config::get('myconfig.product_single').'/{id}/{any}', '[email protected]'); 

此結果爲

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException 

這使我相信在路由時配置不可用。很顯然,我做錯了一件事,目前我有點茫然。如果任何人都能指引我正確的方向,我將非常感激。

+2

運行'php artisan routes'來確保你有你期望的路線,如果你仍然有問題,你應該顯示當你得到這個錯誤(你運行的網址)。 – 2014-11-08 17:38:29

+0

謝謝@MarcinNabiałek - 這表明我在我的自定義配置文件中有錯誤 - 並且能夠解決這個問題,現在一切都按照我想要的那樣工作。 – jvv 2014-11-08 17:42:31

回答

0

你可能已經打你還沒有定義的路由...

運行php artisan routes,並檢查您是否已經註冊你打的路線的URL。

+0

這正是MarcinNabiałek去年11月所說的,是正確的答案。不過謝謝。 – jvv 2015-02-27 18:04:57

+0

哦,對不起。我沒有閱讀評論...請讓Marcin將其作爲答案發布,或只是接受我的答案,爲未來的用戶。否則,這會讓他們更難 – 2015-02-28 20:13:01