我正在尝试为Laravel 5中的嵌套资源控制器创建路径,如..
/customers/{customer}/modulename/clients/{client}
在我正在开发的应用程序中,我有登录应用程序的客户,还有sys-admins。每个客户都可以选择使用多个模块,在这些模块中,有时会有相同的模型,但他们会使用不同的控制器。
我使用了以下解决方案,但它们存在一些问题。
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()
功能的选项吗?或者我可以在路由资源中创建一个组吗?或者我应该用Route::get
Route::post
和$options = ['uses' => '...', 'as' => 'customers.module1.clients.*']
函数