Laravel 5路由组`前缀和`as`和资源控制器

时间:2016-02-09 12:49:39

标签: php laravel laravel-5 laravel-routing laravel-5.2

我使用Laravel的路由组尝试在路由文件中停止复制。

我有一个主要群组frontend。这包含namespace Frontendas frontend.

嵌套在该组中,是另一个组。该群组有prefix account,可为每条路线添加/account/。它还有as account.

嵌套组内的路由,我希望是:

  1. frontend.account.home
  2. frontend.account.order.show
  3. frontend.account.order.index
  4. 相反,我得到:

    1. frontend.account.home
    2. frontend.account.account.order.index
    3. frontend.account.account.order.show
    4. 代码:

      Route::group(['as' => 'frontend.', 'namespace' => 'Frontend'], function () {
          Route::group(['prefix' => 'account', 'as' => 'account.', 'namespace' => 'Account'], function () {
              Route::get('home', [
                  'as'   => 'home',
                  'uses' => 'Home\Controller@get'
              ]);
      
              Route::resource('order', 'Order\Controller', ['except' => [
                  'create',
                  'store',
                  'update',
                  'destroy',
                  'edit',
              ]]);
          });
      });
      

1 个答案:

答案 0 :(得分:1)

由于您除了Route::resource方法的几乎所有路线外,为什么不为indexshow创建2条单线路,如下所示:

// in your routes file, within your nested group :
Route::get('order', ['as' => 'order.index', 'uses' => 'Order\Controller@index' ]);
Route::get('order/{id}', ['as' => 'order.show', 'uses' => 'Order\Controller@show' ]);