2013-10-26 39 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