【发布时间】:2015-01-05 09:09:47
【问题描述】:
我想像这样创建 3 条不同的路线:
Route::get('schedule',['as'=>'schedule.view','uses'=>'ScheduleController@view']);
Route::get('schedule/{year}-{month}',['as'=>'schedule.view','uses'=>'ScheduleController@view'])
->where('year','\d{4}')
->where('month','0[1-9]|1[0-2]');
Route::get('schedule/{year}-{month}-{day}',['as'=>'schedule.view','uses'=>'ScheduleController@view'])
->where('year','\d{4}')
->where('month','0[1-9]|1[0-2]')
->where('day','0[1-9]|[12][0-9]|3[01]');
即,您可以提供以下之一:
- 没有年/月/日
- 年月
- 年、月、日
当我使用route('schedule.view', ['2015','01','01]) 链接到它们时,路由按原样工作,但如果我省略参数,它会尝试链接到/schedule/{year}-{month}-{day}(实际上有大括号!)。
有没有办法让 laravel 表现得更聪明,还是我必须给我的每条路线一个不同的名字?
【问题讨论】:
标签: laravel