2016-07-28 73 views
0

所以在我的routes.php文件我有類似的路線名稱

Route::group(['namespace' => 'Cp', 'prefix' => 'cp'], function() 
{ 
    Route::get('/shop' , '[email protected]')->name('shop_index'); 
}); 

Route::get('/shop' , '[email protected]')->name('shop_index'); 

基本上2類似的地址1在CP命名空間和目錄管理區等,爲客戶

所以在我的管理viwe當我想鏈接到這個網頁,我有

<A href="{{route('shop_index')}}"> shop </A> 

這是行不通的becuz我有相同名稱的2條不同的路線,所以我不得不改變名稱的一個類似shop_index_cp

有無論如何以某種方式在那裏使用命名空間,並避免這種情況?像

<A href="{{route('Cp\shop_index')}}"> shop </A> 

回答

0

命名空間屬性只能告訴路由器什麼是控制器的基礎命名空間。它不會影響路線名稱或您可以引用它們的方式。沒有辦法使用名稱空間來引用相似的路由 - 只使用確切的名稱,所以使名稱唯一是唯一的方法去

0

您不明白命名空間的用途,它對路由名稱沒有任何影響,並且路由名稱必須是唯一的,即使它在單獨的路由組中定義,命名空間也是如果您將控制器分隔到像CP\ShopController, CP\UserController等文件夾..在這種情況下
可以定義爲一組命名空間CP,所以可以直接參考控制器功能作爲Route::get('/shop' , '[email protected]')代替參照它的作爲Route::get('/shop' , 'CP\[email protected]')