Laravel资源路由前缀命名

问题描述 投票:0回答:2

我定义拖资源路线。

Route::resource('p/contacts', 'BaseData\PrivateContactsController');
Route::resource('b/contacts', 'BaseData\ContactController');

我的问题是,这两个资源组将成为前缀相同的前缀(contacts.showcontacts.edit ...)

Laravel docs我发现这种方式来命名路线

Route::resource('photos', 'PhotoController')->names([
'create' => 'photos.build'
]);

在我看来这种方式是非常复杂的,因为我要为每个单独的路由前缀。有没有更好的办法来设置组的所有路由前缀?

php laravel laravel-5 laravel-routing
2个回答
1
投票
Route::resource('p/contacts', 'BaseData\PrivateContactsController',["as"=>"private"]);
Route::resource('b/contacts', 'BaseData\ContactController',["as"=>"normal"]);

这样的URL将保持不变,但名称将有一个前缀,第一资源控制器

private.contacts.index or private.contacts.edit

和第二控制器

    normal.contacts.create or normal.contacts.show

更多的信息查看文档或本github issue


0
投票

尝试这个

Route::group(['prefix'=>'your_prefix'], function(){

把你的代码在这里

});

© www.soinside.com 2019 - 2024. All rights reserved.