如何调用laravel 5中2个前缀路由常用的特定控制器

时间:2016-04-16 04:14:59

标签: php laravel-5 laravel-5.2

在我的程序中,我使用重定向操作方法调用控制器功能,该方法通常应用于2个前缀路由(管理员,管理员),当我在管理路由时,我试图调用控制器功能,触发管理器路由控制器功能 这是控制器调用

 return redirect()->action('UserController@index');

前缀路由定义

Route::group(array('prefix' => 'admin'), function(){
Route::get('/user', 'UserController@index');
});

Route::group(array('prefix' => 'manager'), function(){
Route::get('/user', 'UserController@index');
});

当我在管理员前缀 localhost / admin / user 路由时。我触发了控制器调用 return redirect() - > action('UserController @ index'); ,它触发了管理器前缀控制器。路线将更改为localhost / manager / user为什么会发生这种情况请帮助我,我正在使用LARAVEL 5.2

提前致谢

1 个答案:

答案 0 :(得分:2)

您可以使用 Named Routed 来避免混淆。

在你的路线中给每条路线命名。

Route::group(array('prefix' => 'admin'), function(){
Route::get('/user', array('as' => 'admin.user', 'uses' => 'UserController@index');
});

Route::group(array('prefix' => 'manager'), function(){
Route::get('/user', array('as' => 'manager.user', 'uses' => 'UserController@index');
});

现在在你的route中,你可以通过它的名字来路由

return redirect()->route('admin.user');

return redirect()->route('manager.user');

它可能对你有帮助。