在我的程序中,我使用重定向操作方法调用控制器功能,该方法通常应用于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
提前致谢
答案 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');
它可能对你有帮助。