在我的程序中,我使用重定向操作方法调用了一个控制器函数,该方法通常适用于2个前缀路由(admin、manager)。当我在管理路由上时,我试图调用触发管理器路由控制器函数的控制器函数这是呼叫的控制器
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');
});
当我在admin prefixlocalhost/admin/user路由上时。我触发了控制器调用return redirect()->action('UserController@index')触发管理器前缀控制器。路由将更改为localhost/manager/user为什么会发生这种情况请帮助我,我正在使用LARAVEL 5.2
提前感谢
您可以使用命名路由来避免冲突。
在您的路线中,为每条路线命名。
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');
它可能会对你有所帮助。