我遇到了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 :(得分:6)
您错误地使用了Route::resource
。您不能(也不应该)将变量传递给资源控制器。相反,您需要使用您需要的动词和参数声明一个新路线。 Route::resource
仅为您创建几个预处理路由,以便快速进行CRUD RESTful访问
在此处查看类似情况的答案:https://stackoverflow.com/a/19608572/385402