2016-10-04 6 views
3

Я обновил приложение Laravel 5.2 до Laravel 5.3. У меня есть много маршрутов ресурсов, как:Laravel 5.3 Имена маршрутов ресурсов

Route::resource('web/products', 'Web\ProductController', ['except' => ['show']]); 
Route::resource('web/promos', 'Web\PromoController', ['except' => ['show']]); 

Название маршрутов не сгенерированное для них до Laravel 5.2 были:

web.products.index 
web.products.create 
web.products.store 
web.products.edit 
web.products.update 
web.products.edit 

Я использовал вспомогательный маршрут(), чтобы напечатать все маршруты по имени. Проблема заключается в том, что теперь Laravel 5,3 генерирует свои маршруты с этим названиями:

products.index 
products.create 
products.store 
products.edit 
products.update 
products.edit 

Мне нужно, чтобы они были полностью в пространстве имен.

ответ

1

Я решил это так:

Route::resource('web/products', 'Web\ProductController', ['names' => [ 
    'create' => 'web.products.create' 
]]); 
-1

Почему бы не обернуть их в группу?

Route::group(['namespace' => 'Web'], function() { 
    Route::resource('web/products', 'ProductController', ['except' => ['show']]); 
    Route::resource('web/promos', 'PromoController', ['except' => ['show']]); 
}); 
+1

Это только изменяет сферу контроллеров. Мне нужно, чтобы имена маршрутов были web.products. * Вместо продуктов. * – Alan

+0

Ах, я только заметил, что вы делаете 'web/products' - есть ли причина для этого? Если вы измените его на 'web.products', я думаю, что он даст вам маршруты, которые вы ищете. – Samsquanch

4

Вы можете дать «в качестве» параметра в директиве группы для предоставления всех групповых маршрутизирует префикс.

Route::group(['as'=>'web.'], function() { 
    Route::resource('web/products', 'Web\ProductController', ['except' => ['show']]); 
    Route::resource('web/promos', 'Web\PromoController', ['except' => ['show']]); 
}); 

Также вы можете указать префикс URL

Route::group(['as'=>'web.','prefix'=>'web'], function() { 
    Route::resource('products', 'Web\ProductController', ['except' => ['show']]); 
    Route::resource('promos', 'Web\PromoController', ['except' => ['show']]); 
}); 
+0

Спасибо, я считаю, что этого не хватает в документах. – michaeltintiuc

Смежные вопросы