【问题标题】:how to call a specific controller which is common for 2 prefix routes in laravel 5如何调用 laravel 5 中 2 个前缀路由常见的特定控制器
【发布时间】:2016-08-08 04:29:21
【问题描述】:

在我的程序中,我使用重定向操作方法调用了控制器函数,该方法通常应用于 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

提前致谢

【问题讨论】:

    标签: php laravel-5 laravel-5.2


    【解决方案1】:

    您可以使用 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');
    

    也许对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-26
      • 2015-10-02
      • 2020-02-07
      • 2018-12-18
      • 2016-09-12
      • 2019-09-01
      相关资源
      最近更新 更多