2013-10-26 73 views
4

我遇到Laravel 4路由問題。我想創建路線的兩組:Laravel 4路由:不能多次使用變量名稱

domain.com/meetings/aa, al-anon, etc. 
domain.com/meetings/day/sun, mon, tue, etc. 

以下是我在我的路線文件指定我:

Route::resource('meetings/day/{dayName}', 'Meetings_DayController'); 
Route::resource('meetings/{fellowshipName}', 'Meetings_MeetingController'); 

我需要能夠將變量傳遞給我的足智多謀的控制器。但是,我得到這樣一個錯誤的,不管什麼樣的順序,我把航線:

Route pattern "/meetings/fellowship/{fellowshipName}/{{fellowshipName}}" cannot 
reference variable name "fellowshipName" more than once. 

不僅如此,但是這兩個途徑會造成其他未申報的途徑給予同樣的錯誤。由於某種原因,我的404路線沒有啓動。想法,任何人?我試過了我能想到的一切。如果我可以匹配一個三字母字符串與日控制器路線,這將工作,但我無法找出在Laravel的三字母字符串的正則表達式。 \w{3}不起作用。

+0

這是什麼'PHP工匠routes'給你? – afarazit

+0

它認爲存在不良路線。這一定是因爲我在努力工作。 – sehummel

+0

這就是問題所在。 – sehummel

回答

6

您錯誤地使用了Route::resource。您不能(也不應該)將變量傳遞給資源控制器。相反,你需要用你需要的動詞和參數來聲明一個新的路由。 Route::resource只爲你創建幾個預先處理路線快速CRUD的RESTful訪問

查看答案類似的情況在這裏:https://stackoverflow.com/a/19608572/385402