我遇到了Laravel 4路由问题.我正在尝试创建两组路线:
domain.com/meetings/aa, al-anon, etc.
domain.com/meetings/day/sun, mon, tue, etc.
Run Code Online (Sandbox Code Playgroud)
这是我在路线文件中指定的内容:
Route::resource('meetings/day/{dayName}', 'Meetings_DayController');
Route::resource('meetings/{fellowshipName}', 'Meetings_MeetingController');
Run Code Online (Sandbox Code Playgroud)
我需要能够将变量传递给我的资源控制器.但无论我把路线放在哪个顺序,我都会遇到这种错误:
Route pattern "/meetings/fellowship/{fellowshipName}/{{fellowshipName}}" cannot
reference variable name "fellowshipName" more than once.
Run Code Online (Sandbox Code Playgroud)
不仅如此,这两条路线还会导致其他未申报的路线出现同样的错误.我的404路线由于某种原因没有启动.想法,有人吗?我已经尝试了所有我能想到的东西.如果我可以将三个字母的字符串与日控制器路由匹配,那就行了,但我无法弄清楚Laravel中三个字母字符串的正则表达式. \w{3}不起作用.
您使用Route::resource不当.您不能(也不应该)将变量传递给资源控制器.相反,您需要使用您需要的动词和参数声明一个新路线.Route::resource只为您创建几个预先处理的路径,以便快速进行CRUD RESTful访问
请参阅此处类似情况的答案:https://stackoverflow.com/a/19608572/385402
| 归档时间: |
|
| 查看次数: |
2438 次 |
| 最近记录: |