Laravel 5.1上的类似路线

时间:2015-08-07 07:59:52

标签: php laravel routing routes blade

我在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-08localhost/class-list/beefit/2015-08-08吗?可能吗? (日期是强制性的)

因为现在当我访问localhost/class-list/beefit/2015-08-08时,它会显示beefit ..我希望它显示2015-08-08与我访问localhost/class-list/2015-08-08时相同

1 个答案:

答案 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
@后面的单词是控制器内的函数名称。

希望这有帮助