我在laravel 5.1中有路由问题
这是我的路线代码
Route::get('/class-list/{date?}', array('as'=>'class.list', 'uses'=>'ClassController@classlist'));
Route::get('/class-list/{studio_url}/{date?}', array('as'=>'studio.class.list', 'uses'=>'ClassController@classlist'));'
这是我的控制器
public function classlist($date)
{
echo $date;
}
我可以在同一个控制器上访问localhost/class-list/2015-08-08
和localhost/class-list/beefit/2015-08-08
吗?可能吗? (日期是强制性的)
因为现在当我访问localhost/class-list/beefit/2015-08-08
时,它会显示beefit
..我希望它显示2015-08-08
与我访问localhost/class-list/2015-08-08
时相同
答案 0 :(得分:1)
您正在为一条路线使用两个功能,您应该将其拆分为
Route::get('/class-list/{date?}', array('as'=>'class.list', 'uses'=>'ClassController@classlist'));
Route::get('/class-list/{studio_url}/{date?}', array('as'=>'studio.class.list', 'uses'=>'ClassController@classlist2'));
控制器
public function classlist($date)
{
echo $date;
}
public function classlist2($studio_url, $date)
{
echo $date;
}
请注意,我将 ClassController @ classlist 更改为 ClassController @ classlist2
@后面的单词是控制器内的函数名称。
希望这有帮助