在Laravel 5中使用附加URL参数嵌套资源控制器

在Laravel 5中使用附加URL参数嵌套资源控制器,laravel,routes,Laravel,Routes,我正在尝试为Laravel 5中的嵌套资源控制器创建路由,如 /customers/{customer}/modulename/clients/{client} 在我正在开发的应用程序中,我有正在登录该应用程序的客户,还有系统管理员。每个客户都可以选择使用多个模块,这些模块中有时有相同的型号,但他们使用不同的控制器 我使用了以下解决方案,但它们存在一些问题 Route::resource('customers', 'CustomerController'); Route::resource('

我正在尝试为Laravel 5中的嵌套资源控制器创建路由,如

/customers/{customer}/modulename/clients/{client}
在我正在开发的应用程序中,我有正在登录该应用程序的客户,还有系统管理员。每个客户都可以选择使用多个模块,这些模块中有时有相同的型号,但他们使用不同的控制器

我使用了以下解决方案,但它们存在一些问题

Route::resource('customers', 'CustomerController');
Route::resource('customers.clients', 'CustomerController');
我无法在这个解决方案中使用不同的模块,所以我尝试创建组

Route::group(['prefix' => 'customers/{customer}', ''], function(){
  Route::group(['prefix' => 'module1', ''], function(){
    Route::resource('clients', 'Module1\ClientAController');
  });
  Route::group(['prefix' => 'module2', ''], function(){
    Route::resource('clients', 'Module2\ClientBController');
  });
});
Route::resource('customers', 'CustomerController');
但是路线越来越烦人了。在构建菜单层次结构时,很难创建以下路径

route('customers.{customer}.module1.clients.index');
是应该的,但我想去

route('customers.module1.clients.index');

是否有我缺少的
Route::group()
函数的选项,或者我可以在路由资源中创建一个组?或者我应该用
$options=['uses'=>'…','as'=>'customers.module1.clients.*']

写出所有不同的
Route::get
Route::post
函数吗

Route::resource('customer','CustomerController');
Route::resource('customer.module.client','ClientController');
那么你的路线是这样的:

您可以声明以下两条路线:

Route::resource('customer','CustomerController');
Route::resource('customer.module.client','ClientController');
那么你的路线是这样的:

您可以声明以下两条路线:

Route::resource('customer','CustomerController');
Route::resource('customer.module.client','ClientController');
那么你的路线是这样的:

您可以声明以下两条路线:

Route::resource('customer','CustomerController');
Route::resource('customer.module.client','ClientController');
那么你的路线是这样的:

为什么不使用
Route::resource('customer.module.client')?我想到了这个解决方案,但我想为不同的客户端使用不同的控制器为什么不使用
Route::resource('customer.module.client')?我想到了这个解决方案,但我想为不同的客户端使用不同的控制器为什么不使用
Route::resource('customer.module.client')?我想到了这个解决方案,但我想为不同的客户端使用不同的控制器为什么不使用
Route::resource('customer.module.client')?我已经想到了这个解决方案,但我想为不同的客户端使用不同的控制器